如何在maven目标目录下的JAR文件中运行java类?

如何在maven目标目录下的JAR文件中运行java类?,java,maven-2,maven,izpack,exec-maven-plugin,Java,Maven 2,Maven,Izpack,Exec Maven Plugin,我想在maven构建之后运行我的Izpack安装程序,但在执行“mvn测试”之后,我得到以下输出: 看起来我必须把生成的jar文件放到类路径中,有什么想法吗 摘自my pom.xml: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.2.1<

我想在maven构建之后运行我的Izpack安装程序,但在执行“mvn测试”之后,我得到以下输出:

看起来我必须把生成的jar文件放到类路径中,有什么想法吗

摘自my pom.xml:

  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.2.1</version>
    <executions>
      <execution>
        <phase>test</phase>
        <goals>
          <goal>java</goal> <!-- "exec" also possible -->
        </goals>
        <configuration>
          <mainClass>com.izforge.izpack.installer.Installer</mainClass>
          <arguments>
            <argument>-console</argument>
            <!-- <argument>arg1</argument> -->
          </arguments>
        </configuration>
      </execution>
    </executions>
  </plugin>

org.codehaus.mojo
execmaven插件
1.2.1
测试
JAVA
com.izforge.izpack.installer.installer
-控制台
ApacheMaven 2.2.1(r801777;2009-08-0621:16:01+0200) Java版本:1.6.0_20 Java主页:C:\Java\jdk16\jre 默认区域设置:en_GB,平台编码:Cp1252 操作系统名称:“windows xp”版本:“5.1”拱门:“x86”系列:“windows”


马丁:你看过罐子里面了吗?可能是maven没有将所需的类包含到jar中。

我认为应该使用
-classpath
java
命令定义类路径。您需要构造一个类路径,该路径将包含主类
com.izforge.izpack.installer.installer
及其所有依赖项。它可以在一个jar、一个类文件夹或多个jar中。请参阅如何为java调用定义类路径。

您可以使用类似的方法来定义该执行的依赖项:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
  <execution>
    <phase>test</phase>
    <goals>
      <goal>java</goal> <!-- "exec" also possible -->
    </goals>
    <configuration>
      <mainClass>com.izforge.izpack.installer.Installer</mainClass>
      <arguments>
        <argument>-console</argument>
        <!-- <argument>arg1</argument> -->
      </arguments>
    </configuration>
  </execution>
</executions>
<dependencies>
  <dependency>
    <groupId>org.codehaus.izpack</groupId>
    <artifactId>izpack-standalone-compiler</artifactId>
    <version>4.3.4</version>
    <scope>compile</scope>
  </dependency>
</dependencies>

org.codehaus.mojo

.

是的,我已经查看了target\Installer-3.0.0-SNAPSHOT-standard.jar,类com.izforge.izpack.Installer.Installer在jar中。我可以通过运行“java-jar安装程序-3.0.0-SNAPSHOT-standard.jar”从cmd行执行它。就在maven看来,做同样的事情是个问题。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
  <execution>
    <phase>test</phase>
    <goals>
      <goal>java</goal> <!-- "exec" also possible -->
    </goals>
    <configuration>
      <mainClass>com.izforge.izpack.installer.Installer</mainClass>
      <arguments>
        <argument>-console</argument>
        <!-- <argument>arg1</argument> -->
      </arguments>
    </configuration>
  </execution>
</executions>
<dependencies>
  <dependency>
    <groupId>org.codehaus.izpack</groupId>
    <artifactId>izpack-standalone-compiler</artifactId>
    <version>4.3.4</version>
    <scope>compile</scope>
  </dependency>
</dependencies>