我在新的软件包“实用程序”中定义了一个新的Clock单例。鉴于import语句
,我的大多数代码都可以按预期访问它import com.mydomain.app.utility.*;
我有一些hbm2java从Hibernate映射生成的类,还包括从.hbm.xml文件中的标记插入的一些附加代码:
<meta attribute="class-code"><![CDATA[ .....
我生成的一些类需要访问新的Clock,所以我尝试将包导入生成的Java代码中:
<meta attribute="extra-import">com.mydomain.app.utility.*</meta>
import语句在java中按预期显示,但是ant会在javac阶段对它构建阻塞:
[javac] C:\Source\WebApp\hibernate\com\mydomain\data\app\Workflow.java:11: package com.mydomain.app.utility does not exist
[javac] import com.mydomain.app.utility.*;
[javac] ^
hibernate代码生成由hibernate目录中的构建文件完成,该目录是应用程序目录的兄弟:
root
app
hibernate
others....
我是否可以在hibernate / build.xml的类路径中放置一些内容,允许生成的Java代码查看app / java / com.mydomain.app / utility / Clock.java中定义的Clock类?
或者我是否必须将Clock实用程序拆分为单独的.jar并首先编译它,所以我可以在hibernate / build.xml中指向它的.jar?
还是别的什么呢?
在这种情况下,最好的方法是什么?
答案 0 :(得分:1)
这样的事情应该有效:
<project name="${project.title}" basedir="./" default="all">
<property file="build.properties" />
<property name="path.utilities" value="${path.deploy}/utilities" />
<property name="path.classes" value="${path.deploy}/classes" />
<property name="path.src" value="../src" />
<path id="compile.classpath">
<pathelement path="${path.utilities}" />
<pathelement path="${path.classes}" />
<pathelement path="${classpath}" />
</path>
<target name="compile">
<javac target="1.5" source="1.5" srcdir="${path.src}" destdir="${path.classes}">
<classpath refid="compile.classpath" />
</javac>
</target>
</project>
您可以添加build.xml的相关部分吗?