我正在使用launch4j maven插件为我的应用程序生成.exe。这就是我在pom.xml中的内容:
<plugin>
<groupId>com.akathist.maven.plugins.launch4j</groupId>
<artifactId>launch4j-maven-plugin</artifactId>
<version>1.5.1</version>
<executions>
<execution>
<id>step-1-build-exe</id>
<phase>package</phase>
<goals>
<goal>launch4j</goal>
</goals>
<configuration>
<dontWrapJar>true</dontWrapJar>
<headerType>gui</headerType>
<outfile>target/MyApplication.exe</outfile>
<jar>${project.artifactId}-${project.version}.jar</jar>
<errTitle/>
<cmdLine>-Xms25m -Xmx50m</cmdLine>
<chdir>.</chdir>
<priority>normal</priority>
<downloadUrl>http://java.com/download</downloadUrl>
<supportUrl/>
<customProcName>false</customProcName>
<stayAlive>false</stayAlive>
<manifest/>
<icon>${project.basedir}/src/main/assembly/MyApp.ico</icon>
<classPath>
<mainClass>com.company.app.MainApp</mainClass>
<addDependencies>false</addDependencies>
<preCp>config;koala.jar;comm.jar;jniwrap.jar;log4j-1.2.12.jar</preCp>
</classPath>
<jre>
<path>jre</path>
<minVersion/>
<maxVersion/>
<jdkPreference>preferJre</jdkPreference>
</jre>
</configuration>
</execution>
</executions>
</plugin>
我希望会发生的是'config'目录首先出现在类路径中,但是包含我的主类的jar总是放在类路径的第一位。我想先放置配置目录,这样就很容易覆盖主jar中的某些配置文件。
我用http://www.mkyong.com/java/how-to-print-out-the-current-project-classpath/打印了类路径以查看它是什么。
答案 0 :(得分:0)
如果你可以使用普通的java cmd来做,那么也许你可以通过这种方式将它直接添加到java调用中
<jre>
<path>jre</path>
<minVersion/>
<maxVersion/>
<jdkPreference>preferJre</jdkPreference>
<opts>
<opt>-cp yourclasspath/opt>
</opts>
</jre>