创建一个ant Ejb / Jar包含文件夹中的所有数据

时间:2015-02-25 12:14:11

标签: java-ee ant jar ejb ear

我在Java-EE应用程序中遇到了问题。

由于某些选择,系统如下:

Java包中的Java类和属性。 Ejb项目中的Java包。 所有数据的耳朵。

为了创建所有这些,我们需要使用ant,我不能使用其他系统,并且在Deliver之后在远程服务器上运行ant。

此示例显示了我们现在拥有的内容:

<target name="init" description="mkdir">
<tstamp />
<delete dir="${path_tmp}"/>
 <mkdir dir="${class_dir}" />
 <mkdir dir="${ejb_destdir}" />
 <delete file="${ejb_destdir}/*"/>

<target name="compilaEjb_utility" description="ejb compile">
    <antcall target="init_jar" />
    <javac srcdir="${javaejbDir_utility}" 
            destdir="${class_dir}"
           includes="**/*.java **/*.properties" 
                 fork="yes"
         executable="${project_javahome}/bin/javac"
            compiler="${compiler}"  
           target="${target}" 
             verbose="${verbose}"
        deprecation="${deprecation}"
                debug="${debug_opt}" 
         debuglevel="${debug_level}"    
             source="1.6">
     <classpath refid="project.class.path"/>
    </javac>
    <copy todir="${class_dir}" overwrite="true">
        <fileset dir="${javaDir}" includes="**/*.properties" />
     </copy>     
</target>

<target name="create_jar" depends="compilaEjb_utility">
    <jar destfile="${ejb_destdir}/${ejbName_utility}.jar" basedir="${class_dir}" includes="**/*">
     <metainf dir="${metainf_dir_utility}"/>
    </jar>  
</target>

然而,这些命令使用所有.java创建Jar(在编译之后)但是.properties文件没有被采用,我做错了什么?

1 个答案:

答案 0 :(得分:0)

解决。 通常情况下,当您使用此代码制作Ejb时,您没有不是.Java的文件,但它可以在战争中正常工作。

要解决此问题,我们更改了此代码:

<copy todir="${class_dir}" overwrite="true">
    <fileset dir="${javaDir}" includes="**/*.properties" />
 </copy>

使用

<copy todir="${class_dir}" overwrite="true">
    <fileset dir="${javaejbDir_utility}" includes="**/*.properties" />
 </copy>

复制命令的来源是错误的。