带有外部JAR的Java构建文件
我尝试了一次又一次地为我的项目大纲开发一个Ant构建文件: 这是我尝试运行的构建文件:带有外部JAR的Java构建文件,java,windows,ant,command-line,jar,Java,Windows,Ant,Command Line,Jar,我尝试了一次又一次地为我的项目大纲开发一个Ant构建文件: 这是我尝试运行的构建文件: <project> <target name="clean"> <delete dir="build" /> </target> <path id="jarpath"> <fileset dir="C:\JAR"> <include name="
<project>
<target name="clean">
<delete dir="build" />
</target>
<path id="jarpath">
<fileset dir="C:\JAR">
<include name="**" />
</fileset>
</path>
<target name="compile">
<mkdir dir="build/classes" />
<javac srcdir="." destdir="build/classes" includeantruntime="false">
<classpath id="jarpath" />
<classpath>
<pathelement path="jarpath" />
</classpath>
</javac>
</target>
<target name="jar">
<mkdir dir="build/jar" />
<jar destfile="build/jar/TestCase1.jar" basedir="build/classes">
<manifest>
<attribute name="Main-Class" value="NSSR.TestCase1" />
</manifest>
</jar>
<jar destfile="build/jar/UniversalVariables.jar" basedir="build/classes">
<manifest>
<attribute name="Main-Class" value="NSSR.UniversalVariables" />
</manifest>
</jar>
</target>
</project>
Buildfile: C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Case
s\src\build.xml
compile:
[javac] Compiling 4 source files to C:\Documents and Settings\jradcliffe\wor
kspace\ITSM_Upgrade_Test_Cases\src\build\classes
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:3: package com.thoughtworks.selenium does not exist
[javac] import com.thoughtworks.selenium.*;
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:4: package org.junit does not exist
[javac] import org.junit.After;
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:5: package org.junit does not exist
[javac] import org.junit.Before;
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:6: package org.junit does not exist
[javac] import org.junit.Test;
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:10: cannot find symbol
[javac] symbol: class SeleneseTestCase
[javac] public class TestCase1 extends SeleneseTestCase {
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:3: package com.thoughtworks.selenium does not exist
[javac] import com.thoughtworks.selenium.*;
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:4: package org.junit does not exist
[javac] import org.junit.After;
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:5: package org.junit does not exist
[javac] import org.junit.Before;
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:6: package org.junit does not exist
[javac] import org.junit.Test;
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:10: cannot find symbol
[javac] symbol: class SeleneseTestCase
[javac] public class TestCase1 extends SeleneseTestCase {
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:23: cannot find symbol
[javac] symbol : class Before
[javac] location: class NSSR.TestCase1
[javac] @Before
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:30: cannot find symbol
[javac] symbol : class Test
[javac] location: class NSSR.TestCase1
[javac] @Test
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:65: cannot find symbol
[javac] symbol : class After
[javac] location: class NSSR.TestCase1
[javac] @After
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:23: cannot find symbol
[javac] symbol : class Before
[javac] location: class TestCase1
[javac] @Before
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:30: cannot find symbol
[javac] symbol : class Test
[javac] location: class TestCase1
[javac] @Test
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:65: cannot find symbol
[javac] symbol : class After
[javac] location: class TestCase1
[javac] @After
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:25: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium = new DefaultSelenium("localhost", 4444, "*fire
fox",
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:25: cannot find symbol
[javac] symbol : class DefaultSelenium
[javac] location: class NSSR.TestCase1
[javac] selenium = new DefaultSelenium("localhost", 4444, "*fire
fox",
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:27: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.start();
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:32: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.open(UniversalVariables.loginPage);
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:33: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.type("name=USERNAME", UniversalVariables.userna
me);
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:34: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.type("name=PASSWORD", UniversalVariables.passwo
rd);
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:35: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.click("link=Submit");
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:36: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.waitForPageToLoad("60000");
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:37: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.open("/itg/dashboard/app/portal/PageView.jsp?IS
_WINDOID=N");
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:38: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.click("link=Create");
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:39: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.click("link=Request");
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:40: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.waitForPageToLoad("30000");
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:41: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.select("name=REQUEST_TYPE_CREATE",
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:43: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.click("css=span.secBtn > a");
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:44: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.waitForPageToLoad("30000");
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:55: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.type("id=REQ.DESCRIPTION", title);
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:56: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.type("id=REQ.P.REQUESTORAC_TF", req);
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:57: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.select("id=REQ.P.REQUESTOR_DEPT", dept);
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:58: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.type("id=REQ.P.DETAIL_DESC", desc);
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:59: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.type("REQ.P.REQ_COMPL_DATE", date);
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:60: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.click("link=Submit");
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:61: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.waitForPageToLoad("30000");
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:62: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.refresh();
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\NSSR\TestCase1.java:67: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class NSSR.TestCase1
[javac] selenium.stop();
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:25: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium = new DefaultSelenium("localhost", 4444, "*fire
fox",
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:25: cannot find symbol
[javac] symbol : class DefaultSelenium
[javac] location: class TestCase1
[javac] selenium = new DefaultSelenium("localhost", 4444, "*fire
fox",
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:27: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.start();
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:32: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.open(UniversalVariables.loginPage);
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:33: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.type("name=USERNAME", UniversalVariables.userna
me);
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:34: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.type("name=PASSWORD", UniversalVariables.passwo
rd);
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:35: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.click("link=Submit");
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:36: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.waitForPageToLoad("60000");
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:37: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.open("/itg/dashboard/app/portal/PageView.jsp?IS
_WINDOID=N");
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:38: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.click("link=Create");
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:39: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.click("link=Request");
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:40: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.waitForPageToLoad("30000");
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:41: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.select("name=REQUEST_TYPE_CREATE",
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:43: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.click("css=span.secBtn > a");
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:44: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.waitForPageToLoad("30000");
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:55: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.type("id=REQ.DESCRIPTION", title);
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:56: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.type("id=REQ.P.REQUESTORAC_TF", req);
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:57: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.select("id=REQ.P.REQUESTOR_DEPT", dept);
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:58: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.type("id=REQ.P.DETAIL_DESC", desc);
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:59: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.type("REQ.P.REQ_COMPL_DATE", date);
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:60: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.click("link=Submit");
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:61: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.waitForPageToLoad("30000");
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:62: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.refresh();
[javac] ^
[javac] C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cas
es\src\TestCase1.java:67: cannot find symbol
[javac] symbol : variable selenium
[javac] location: class TestCase1
[javac] selenium.stop();
[javac] ^
[javac] 64 errors
BUILD FAILED
C:\Documents and Settings\jradcliffe\workspace\ITSM_Upgrade_Test_Cases\src\build
.xml:15: Compile failed; see the compiler error output for details.
Total time: 1 second
基本上,它似乎无法识别我的jar文件中的任何内容,我认为这是有意义的,因为我没有在编译目标中引用它们。问题是我不知道如何引用它们(这是我在Hello World之外的第一个构建文件)
谢谢试试这个:
<classpath>
<pathelement path="${classpath}"/>
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
<pathelement location="classes"/>
<dirset dir="${build.dir}">
<include name="apps/**/classes"/>
<exclude name="apps/**/*Test*"/>
</dirset>
<filelist refid="third-party_jars"/>
</classpath>
请参见尝试以下操作:
<classpath>
<pathelement path="${classpath}"/>
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
<pathelement location="classes"/>
<dirset dir="${build.dir}">
<include name="apps/**/classes"/>
<exclude name="apps/**/*Test*"/>
</dirset>
<filelist refid="third-party_jars"/>
</classpath>
请参见您遇到的问题是设置和管理类路径。这是到目前为止ANT构建中最常见的问题 当我查看您的代码时,看起来您应该运行junit 我编写了一个修订版构建文件,该文件演示了以下内容:
ant clean jar
然后,生成的jar可以如下执行:
java -jar build/dist/demo.jar
编译文件
您遇到的问题是设置和管理类路径。这是到目前为止ANT构建中最常见的问题 当我查看您的代码时,看起来您应该运行junit 我编写了一个修订版构建文件,该文件演示了以下内容:
ant clean jar
然后,生成的jar可以如下执行:
java -jar build/dist/demo.jar
编译文件
尝试更改
编译
目标,以便在
中
使用refid
而不是id
,如下所示:
<target name="compile">
<mkdir dir="build/classes" />
<javac srcdir="." destdir="build/classes" includeantruntime="false">
<classpath refid="jarpath" />
</javac>
</target>
尝试更改
编译
目标,以便在
中
使用refid
而不是id
,如下所示:
<target name="compile">
<mkdir dir="build/classes" />
<javac srcdir="." destdir="build/classes" includeantruntime="false">
<classpath refid="jarpath" />
</javac>
</target>
尝试将C:\JAR更改为C:\\JAR或C:/JAR。不幸的是,这不起作用。尝试将C:\JAR更改为C:\\JAR或C:/JAR。不幸的是,这不起作用。当我运行该命令时,将“${build.dir}”替换为“.”,我收到以下错误:生成失败C:\Documents and Settings\jradcliffe\workspace\ITSM\u Upgrade\u Test\u Cases\src\BUILD.xml:15:未找到引用第三方\u JAR。第三方\u JAR就是一个例子,您可以删除此行。当我运行该命令时,将“${BUILD.dir}”替换为“.”,我收到以下错误:生成失败C:\Documents and Settings\jradcliffe\workspace\ITSM\u Upgrade\u Test\u Cases\src\BUILD.xml:15:未找到引用第三方\u JAR。第三方\u JAR就是一个示例,您可以删除此行。