我正在使用一些apache HttpClient jar,所以我把它们放在我的项目的lib目录中,当Netbeans编译项目时,它复制lib并生成一个项目jar到dist目录中,但是当我使用webstart运行项目时,我需要将项目jar和lib复制到Tomcat的根目录中,我想知道Netbeans是否可以生成一个包含lib目录中所有jar的项目jar,这样我就不必将项目jar和lib目录复制到Tomcat的根目录中。Netbeans能做到吗?
这非常容易将每个依赖库(*.jar)打包到一个MyProject.jar中。
只需遵循这些步骤,您将最终将每个依赖库打包到单个JAR中。如果您使用的是NetBeans,那么您可以完全遵循,否则您需要在项目文件中找到build.xml文件。
按照以下步骤编辑build.xml
1)单击NetBeans中项目面板左侧的files选项卡
。
2)双击build.xml
文件,并在行之前添加这些行
<target name="package-for-store" depends="jar">
<property name="store.jar.name" value="myProject"/>
<property name="store.dir" value="store"/>
<property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/>
<echo message="Packaging ${application.title} into a single JAR at ${store.jar}"/>
<delete dir="${store.dir}"/>
<mkdir dir="${store.dir}"/>
<jar destfile="${store.dir}/temp_final.jar" filesetmanifest="skip">
<zipgroupfileset dir="dist" includes="*.jar"/>
<zipgroupfileset dir="dist/lib" includes="*.jar"/>
<manifest>
<attribute name="Main-Class" value="${main.class}"/>
</manifest>
</jar>
<zip destfile="${store.jar}">
<zipfileset src="${store.dir}/temp_final.jar"
excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA"/>
</zip>
<delete file="${store.dir}/temp_final.jar"/>
</target>
3)根据项目名称更改代码第二行的值
,该名称为
<property name="store.jar.name" value="myProject"/> //<---Just value not name
4)保存它,右键单击build.xml并选择Run Target,然后选择其他目标,最后单击Package-for-store
5)就这样了。现在你可以去检查一下,就像dist
文件夹一样,那里会有一个store
文件夹,它将包含最后完整的jar,包括所有依赖的库。现在,无论何时你想要更改/添加更多的库,只要按照步骤4操作即可。
步骤4的图片
问题内容: 当我运行“清理并生成”时,仅在文件夹位于文件的同一文件夹时,才会运行正在创建的文件。 因此,如果我将jar文件移动到桌面并将该文件夹保留在该文件夹中,则jar文件将给我一个例外。 我该如何解决这个问题? 问题答案: 如果将jars复制到源代码目录中,它们将位于您的最终jar中。但是,我不确定这是否会在100%的时间内有效。 java-forum上有一篇很棒的文章,内容如下: 除了少数情
我正在尝试加入一些。txt。png和其他文件转换为我的jar文件。我在src文件夹下创建了一个名为“resources”的文件夹。从IDE运行程序时,程序可以正确找到所有文件。但是,只要我用代码创建一个jar文件,就找不到任何文件。当然,我使用了getClass()。getResource(…)。 有人能帮我吗?:/
问题内容: 在我的J2EE项目中,我有几个依赖关系,在任何Maven存储库中都不可用,因为它们是专有库。这些库需要在运行时可用,因此必须将其复制到target /…/ WEB-INF / lib … 现在,我在POM中将它们列为系统依赖项,但是使用这种方法的问题是,在编译过程中没有将它们复制到目标版本中。而且这种方法也不是很优雅。 那么将它们集成到Maven中的最佳方法是什么? 注意:我不想创建自
在war中,->不存在“”,但包含所有其他依赖项。
问题内容: 我想从罐子中复制文件。我要复制的文件将被复制到工作目录之外。我已经做过一些测试,所有尝试使用的方法都以0字节文件结尾。 编辑 :我希望通过程序而不是手动完成文件的复制。 问题答案: 首先,我想说的是,之前发布的一些答案是完全正确的,但是我想告诉我,因为有时我们不能在GPL下使用开放源代码库,或者因为我们懒得下载jarXD或其他文件无论您的理由在这里,还是一个独立的解决方案。 下面的函数
问题内容: 我一直在寻找这个问题的解决方案,今天已经花费了多个小时,而昨天已经花费了许多个小时,所以我决定在这里解决,尽管这似乎是一个愚蠢的问题。 情况:我在Eclipse Java EE中设置了Google AppEngine项目。在这里已经有好几个星期了,一切运行正常,我可以部署到App Engine并在Eclipse中进行测试,而不会出现问题。 现在,我需要添加用于fe JSON支持和Goo