0

netbeans プロジェクトのbuild.xml (更新 8:49 PM ) を作成しました。serlvet-api.jarそして、のようなTomcatライブラリがディレクトリにあることがわかりましたC:\apache-tomcat-7.0.35\libtarget="class_compile"しかし、を使用して tomcat ディレクトリに接続する方法がわかりませんfieldset dir(別のコンピューターからコンパイルするたびに build.xml を変更する必要はありません)。

ant script に外部 JAR を含めているときに質問エラーを読みましたが、解決策は要素classpathref内に属性がありません (私の属性は正しいようですが)。javacclasspathref

<path id="build.classpath">
    <fileset dir="${lib.dir}">
        <include name="**/*.jar"/>
    </fileset>
</path>

<target name="class_compile" depends="prepare" description="Compile the whole project">
    <javac destdir="${build.classes}" 
            debug="${debug}" 
            deprecation="on"
            optimize="off"
            srcdir="${src.dir}"
            classpathref="build.classpath"
            includes="*/**"
    />
    <copy todir="${build.classes}">
        <fileset dir="${src.dir}" includes="**/*.properties"/>
    </copy>
</target>

<target name="prepare">
    <mkdir dir="${build.dir}"/>
    <mkdir dir="${build.classes}"/>
    <path id="run.classpath" >
        <pathelement location="${build.classes}" />
    </path>
    <mkdir dir="${build.lib}"/>
    <mkdir dir="${qa.dir}"/>
</target>

現在、class_compileターゲットが実行されると、欠落しているクラス ファイルに関する複数のエラーが報告されます。

emma:
Created dir: C:\capstonegroup3\TTTserver\build\emma-instr
Created dir: C:\capstonegroup3\TTTserver\build\emma-reports
prepare:
Created dir: C:\capstonegroup3\TTTserver\build\classes
Created dir: C:\capstonegroup3\TTTserver\build\lib
Created dir: C:\capstonegroup3\TTTserver\build\qa-reports
class_compile:
C:\capstonegroup3\TTTserver\build.xml:152: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
Compiling 21 source files to C:\capstonegroup3\TTTserver\build\classes
C:\capstonegroup3\TTTserver\src\java\AuthServer\AuthenticationInterface.java:8: error: package javax.servlet.http does not exist
import javax.servlet.http.HttpServletRequest;

propertyファイルから、tomcat apache/libディレクトリに設定する方法はあり.propertyますか? 私はbuild_impl.xml(ターゲット中にプロパティファイルが含まれているnetbeansによって生成された)で見ました-init-private

<target depends="-pre-init" name="-init-private">
    <property file="nbproject/private/private.properties"/>
</target>

しかし、これらのプロパティにアクセスする方法がわかりませんbuild.xml。しかし、基本的には、ディレクトリへの相対パスを生成し、apache-tomcat\libパッケージを失うことなくクラス ファイルを正常にコンパイルするソリューションを求めています。

4

2 に答える 2

2

以下のように、servlet-api.jar ファイルを build.classpath に宣言する必要があります。

<path id="build.classpath">
    <fileset dir="C:/apache-tomcat-7.0.35/lib">
        <include name="servlet-api.jar" />
    </fileset>
    <fileset dir="${lib.dir}">
        <include name="**/*.jar"/>
    </fileset>
</path>
于 2013-09-11T09:42:14.993 に答える
2

私がやりたいことはlocal.properties、ローカル環境を記述するファイルをプロジェクト フォルダの親フォルダ (たとえば、NetBeansProjects の下) に保持することです。たとえば、次のようにします。

NetBeansProjects
+- local.properties
+- MyProject
   +- build.xml
   +- <other stuff>

build.xmlようなものです:

tomcat.home=/C:/java/tomcat
gwt.dir=/C:/java/google/gwt-2.5.1

このファイルはバージョン管理下に置かれておらず、各開発者が独自の環境を構成できるようになっています。次のようなものを使用して Ant によって読み取られます。

<property file="../local.properties" />

そして、例えば次のように使用されます (これは単なる例です。適切な使用法に合わせて調整してください):

<path id="project.classpath">
    <pathelement path="war/WEB-INF/classes" />
    <fileset dir="war/WEB-INF/lib">
        <include name="*.jar" />
    </fileset>
    <fileset dir="${tomcat.home}/lib"><!-- tomcat.home defined in local.properties -->
        <include name="**/*.jar" />
    </fileset>
</path>
于 2013-09-11T09:17:01.807 に答える