我有一种不寻常的情况,我需要在可执行jar的清单中添加一个任意的classpath条目(指向jar文件)。(这是针对Swing桌面应用程序的。)
maven-jar-plugin使用maven依赖项为jar清单生成“ Class-Path”条目,并且似乎没有任何添加任意条目的方法。
我还研究了使用“ -classpath”参数将任意类路径条目硬编码到启动应用程序的批处理文件中,但是我不知道如何使Maven将类路径过滤到批处理文件中。
我发现有一个解决此问题的简便方法。您可以将一个<Class-Path>
元素添加到<manifestEntries>element
,然后设置<addClassPath>true</addClassPath>
为<manifest>element
。因此<Class-Path>element
的值会自动添加到class-path中。例:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addClasspath>true</addClasspath>
<mainClass>your.main.Class</mainClass>
</manifest>
<manifestEntries>
<Class-Path>../conf/</Class-Path>
</manifestEntries>
</archive>
</configuration>
</plugin>
问题内容: 我在上,我尝试了下都无济于事。还尝试将jar移到src目录,但是java文件仍然无法编译。尝试在脚本中简单地导入httpclient。 问题答案: 安装您的JDK并将 其放置 。难道 不是 .jar文件复制到你的JDK的文件夹! 如果您还没有一个IDE,我建议您使用Eclipse或Netbeans这样的IDE。 我将建立一个新项目,创建或导入您的源,并为该项目设置一个类路径。 如果那行
有,它对1)很有效。但是,我找不到一个还包括非maven依赖项的maven插件,例如。 然后是Eclipse插件,它可以工作,但自2009年以来就没有更新过,所以看起来没有维护。另外,我更喜欢在中直接指定的导出方法。 有人能给我指出插件之类的东西来导出所有引用的库(包括案例2)吗?这只需要将它们放入jar并在清单的类路径中引用它们。 谢了!
问题内容: 在运行于Java 8的应用程序中,我正在使用将jar添加到引导类路径的方法。在Java 9中,该选项已删除。在Java 9中执行相同操作的替代方法是什么? 问题答案: 您可以使用。请参考发行说明,其中指出: 在此版本中,引导类路径已被大部分删除。Java 和选项已被删除。 仅当编译到JDK 8或更早版本时,才可以使用该选项。系统属性已被删除。 出于测试目的而依赖于覆盖平台类的部署将需要
我有一个批处理文件,它使用依赖于tools.jar(来自JDK)的maven运行java类。 例如: mvn-f.\pom.xml-e exec:java-dfile.encoding=“utf-8”-dexec.mainclass=MyClass-dexec.args=“%1%2%3%4%5%6%7%8%9”-dexec.classpathscope=runtime 我的程序使用JDK中的too
我正在使用maven构建工具。我的意图是将单独的绝对文件夹[例如:C:\test1.jar,C:\test2.jar]中可用的jar文件添加到类路径中。 我可以看到JAR被添加到war中可用的Manifest.mf文件的类路径中,但当war部署时,它由于“java.lang.ClassNotFoundException”[与test1.jar或test2.jar相关]而失败。 这是否意味着在man
我试图开发一个连接到Oracle数据库并执行函数的Java应用程序。如果我在Eclipse中运行应用程序,它可以工作,但是当我尝试在Windows命令提示符中运行. jar时,我会得到“遇到的错误:java.sql.SQLExc0019:找不到合适的驱动程序”。 我正在通过所有人的道路。在命令行中执行时,Eclipse中Maven依赖项中显示的jar文件。 步骤 > 从目标目录执行. jar,使用