Java 为webapp创建jar

Java 为webapp创建jar,java,web-applications,netbeans,jar,Java,Web Applications,Netbeans,Jar,我正在使用netbeans编写webapp+过滤器 为了过滤器,我想生成一个jar文件(放在tomcat/lib文件夹中) 当我编译项目时,它会生成war文件 有没有办法告诉netbeans生成jar文件?可以修改netbeans使用的build.xml,在生成的jar上添加一个复制任务。可以修改netbeans使用的build.xml,在生成的jar上添加一个复制任务。创建一个单独的项目来生成.jar文件。在这种情况下,我认为您必须使用终端创建.jar。据我所知,不能使用netbeans ID

我正在使用netbeans编写webapp+过滤器

为了过滤器,我想生成一个jar文件(放在tomcat/lib文件夹中)

当我编译项目时,它会生成war文件


有没有办法告诉netbeans生成jar文件?

可以修改netbeans使用的build.xml,在生成的jar上添加一个复制任务。

可以修改netbeans使用的build.xml,在生成的jar上添加一个复制任务。

创建一个单独的项目来生成.jar文件。在这种情况下,我认为您必须使用终端创建.jar。据我所知,不能使用netbeans IDE为web项目创建.jar文件。

创建一个单独的项目来生成.jar文件。在这种情况下,我认为您必须使用终端创建.jar。据我所知,您无法使用netbeans IDE为web项目创建.jar文件。

您可以在build.xml中添加类似的内容:

<target name="-post-compile">
    <jar destfile="${basedir}/dist/my_web_app.jar">
        <fileset dir="${basedir}/build/web/WEB-INF/classes">

        </fileset>
    </jar>
</target>

它会在你的战争中为你建造一个罐子


编辑:请参阅下面Ravindra的答案,以了解此方法的一点改进。

您可以在build.xml中添加类似的内容:

<target name="-post-compile">
    <jar destfile="${basedir}/dist/my_web_app.jar">
        <fileset dir="${basedir}/build/web/WEB-INF/classes">

        </fileset>
    </jar>
</target>

它会在你的战争中为你建造一个罐子


编辑:请参阅下面Ravindra的答案,以了解此方法的一点改进。

对@DeadPassive answer的增强-您可以使用变量
${ant.project.name}

<target name="-post-compile">
    <jar destfile="${basedir}/dist/${ant.project.name}.jar">
        <fileset dir="${basedir}/build/web/WEB-INF/classes">
        </fileset>
    </jar>
</target>

对@DeadPassive answer的增强-您可以使用变量
${ant.project.name}

<target name="-post-compile">
    <jar destfile="${basedir}/dist/${ant.project.name}.jar">
        <fileset dir="${basedir}/build/web/WEB-INF/classes">
        </fileset>
    </jar>
</target>


我不知道你为什么想把过滤器变成一个罐子,但是如果你的理由是重复使用,那么它应该是一个单独的项目。谢谢你!我一直在为这个问题争论太久了,我不知道你为什么想把这个过滤器做成一个罐子,但是如果你的理由是重复使用,那么它应该是一个单独的项目。谢谢你!我已经为此奋斗太久了