#java #eclipse #maven
Вопрос:
Я взял проект и скопировал его в eclipse, теперь, когда я запускаю команду maven для его компиляции, она выдает ошибки, потому что отсутствуют переменные. Код, на который ссылаются, находится в старом проекте, и мне нужно знать, как заставить процесс сборки распознавать код в новом проекте вместо старого проекта.
Вот что я получаю в командной строке.
Файл проекта, на который он должен ссылаться, является OpenExcel.java в новом проекте, но вместо этого он ссылается на файл в старом проекте VegaAutomatisierungPart1.
Мне нужно знать, как заставить его ссылаться на новый проект, я попытался просмотреть все файлы в папке проекта, но не увидел ни одного, в котором говорилось бы о ссылках на старый проект, поэтому я не уверен, что делать.
Вот мой pom.xml.
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>VegaAutomatisierungPart1</groupId>
<artifactId>VegaAutomatisierungPart1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.10.7</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.1</version>
</dependency>
</dependencies>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
</project>
Вот код, на который он ссылается.
Комментарии:
1. Похоже, это компиляция кода из нового проекта (пути в сообщении об ошибке содержат
../AutomatisierteAnlaufsteuerung/..
). Что кажется неправильным, так это тоgroupId
иartifactId
то, что определено вpom.xml
файле вашего скопированного проекта2. Ты знаешь, что мне следует изменить? Я опубликовал свой pom.xml в вопросе.
3. Как я написал в первом комментарии: вы должны изменить
groupId
иartifactId
— в вашем POM это в строках 5 и 6 (вместо<groupId>VegaAutomatisierungPart1</groupId>
этого , вероятно, должно быть<groupId>AutomatisierteAnlaufsteuerung</groupId>
, дляartifactId
чего-то подобного)4. Это изменило текст, но он по-прежнему возвращает те же переменные в тех же строках, что и в старом проекте, и не использует новый код в новом проекте.
5. В сообщении об ошибке
/C:/Users/D171_o_QECJACK031/eclipse-workspace/AutomatisierteAnlaufsteuerung/src/OpenExcel.java:[50,67] cannot find symbol
четко указано, что он пытается скомпилировать файлOpenExcel.java
из пакета проекта по умолчаниюAutomatisierteAnlaufsteuerung
.
Ответ №1:
Я вижу, что ваш старый проект закрыт, попробуйте написать, нажмите на свой старый проект и выберите > Open Project