我在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文件没有被采用,我做错了什么?
答案 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>
复制命令的来源是错误的。