1

Я хочу выполнить файл класса (или файл jar), расположенный в той же папке с pom.xml, который содержит основной метод.Как настроить путь класса exec-maven-plugin

Вот мой pom.xml

http://maven.apache.org/maven-v4_0_0.xsd "> 4.0.0 Туомас сна ПОМ 1,0-ПАНОРАМА

<build> 
    <plugins> 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>exec-maven-plugin</artifactId> 
     <version>1.5.0</version> 
     <executions> 
      <execution> 
      <id>sleep</id> 
      <phase>verify</phase> 
      <goals> 
       <goal>java</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <mainClass>tuomas.App</mainClass> 
      <classpathScope>tuomas</classpathScope> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 

И я получаю следующее сообщение об ошибке:

[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.5.0:java (sleep) on project sleep: Execution sleep of goal org.codehaus.mojo:exec-maven-plugin:1.5.0:java failed: Invalid classpath scope: tuomas -> [Help 1] 

Вот моя структура папок

pom.xml . ..tuomas..App.class

Я также попытался не указывать атрибут classpathScope в конфигурации плагина и вместо этого получил следующую ошибку.

[WARNING] 
java.lang.ClassNotFoundException: tuomas.App 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
     at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:281) 
     at java.lang.Thread.run(Thread.java:745) 

Независимо от того, находится ли файл класса под папкой tuomas или в корне проекта. Также попытался установить банку в локальный репозиторий maven без успеха.

Как настроить этот плагин для поиска класса из папки проекта?

+0

Что такое структура папок. Вы использовали простой архетип maven для создания начального эшафота? –

ответ

1

Во-первых, избавиться от параметра <classpathScope>. В Maven нет области, называемой toumas, только these. Значение по умолчанию - runtime, которое должно работать для большинства людей.

Предоставленный метод main находится в упаковке toumas и в файле App.java, он должен работать.

Ваше утверждение:

"I have also tried not to specify classpathScope attribute in plugin configuration, and got the following error instead."

заставляет меня задаться вопросом, если ваш файл Java действительно находится под src/main/java?

+0

'заставляет меня задаться вопросом, действительно ли ваш файл Java находится под src/main/java?' Именно то, что случилось со мной, когда я создал новый Java-проект в Intellij, а затем добавил pom.xml к нему. Структуры каталогов не были одинаковыми. – maksimov

Смежные вопросы