
正文
ant修改java代码 ant 编译java
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
使用Ant编译源代码时,出错:xxxxx.java is not a directory。谁遇到过,知道怎么解决吗?
javac srcdir="${src.dir}" 。。。。。。
ant编译的源文件输入是 srcdir,dir顾名思义就是目录的意思。
你可以将你的xxxxx.java所在的目录替换${src.dir},然后试试
property name="src.dir" value="C:\Program Files\Java\"/
相关问答
Q1: 用ant编译java的问题
我编译都是这么整:
target name="build" description="Compile main source tree java files"
mkdir dir="$"/
javac destdir="$" source="1.5" target="1.5" debug="true"
deprecation="false" optimize="false" failonerror="true"
src path="$"/
classpath refid="master-classpath"/
/javac
/target
给ant修改java代码你一个建议ant修改java代码,ant的具体用法是不需要太深入的ant修改java代码了解ant修改java代码,会读会用会改会copyant修改java代码,就能基本应付工作中所有问题了。我以前还是自己写ant,到后来发现没什么必要,现在用的ant就是从hibernate中帮助文档里找来的,功能很全面,常用的都有了。
?xml version="1.0"?
project name="springmvc" basedir="." default="usage"
property file="build.properties"/
property name="src.dir" value="src"/
property name="web.dir" value="war"/
property name="build.dir" value="$/WEB-INF/classes"/
property name="name" value="springmvc"/
path id="master-classpath"
fileset dir="$/WEB-INF/lib"
include name="*.jar"/
/fileset
!-- We need the servlet API classes: --
!-- * for Tomcat 5/6 use servlet-api.jar --
!-- * for other app servers - check the docs --
fileset dir="$"
include name="servlet*.jar"/
/fileset
pathelement path="$"/
/path
target name="usage"
echo message=""/
echo message="$ build file"/
echo message="-----------------------------------"/
echo message=""/
echo message="Available targets are:"/
echo message=""/
echo message="build -- Build the application"/
echo message="deploy -- Deploy application as directory"/
echo message="deploywar -- Deploy application as a WAR file"/
echo message="install -- Install application in Tomcat"/
echo message="reload -- Reload application in Tomcat"/
echo message="start -- Start Tomcat application"/
echo message="stop -- Stop Tomcat application"/
echo message="list -- List Tomcat applications"/
echo message=""/
/target
target name="build" description="Compile main source tree java files"
mkdir dir="$"/
javac destdir="$" source="1.5" target="1.5" debug="true"
deprecation="false" optimize="false" failonerror="true"
src path="$"/
classpath refid="master-classpath"/
/javac
/target
target name="deploy" depends="build" description="Deploy application"
copy todir="$/$" preservelastmodified="true"
fileset dir="$"
include name="**/*.*"/
/fileset
/copy
/target
target name="deploywar" depends="build" description="Deploy application as a WAR file"
war destfile="$.war"
webxml="$/WEB-INF/web.xml"
fileset dir="$"
include name="**/*.*"/
/fileset
/war
copy todir="$" preservelastmodified="true"
fileset dir="."
include name="*.war"/
/fileset
/copy
/target
!-- ============================================================== --
!-- Tomcat tasks - remove these if you don't have Tomcat installed --
!-- ============================================================== --
path id="catalina-ant-classpath"
!-- We need the Catalina jars for Tomcat --
!-- * for other app servers - check the docs --
fileset dir="$"
include name="catalina-ant.jar"/
/fileset
/path
taskdef name="install" classname="org.apache.catalina.ant.InstallTask"
classpath refid="catalina-ant-classpath"/
/taskdef
taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask"
classpath refid="catalina-ant-classpath"/
/taskdef
taskdef name="list" classname="org.apache.catalina.ant.ListTask"
classpath refid="catalina-ant-classpath"/
/taskdef
taskdef name="start" classname="org.apache.catalina.ant.StartTask"
classpath refid="catalina-ant-classpath"/
/taskdef
taskdef name="stop" classname="org.apache.catalina.ant.StopTask"
classpath refid="catalina-ant-classpath"/
/taskdef
target name="install" description="Install application in Tomcat"
install url="$"
username="$"
password="$"
path="/$"
war="$"/
/target
target name="reload" description="Reload application in Tomcat"
reload url="$"
username="$"
password="$"
path="/$"/
/target
target name="start" description="Start Tomcat application"
start url="$"
username="$"
password="$"
path="/$"/
/target
target name="stop" description="Stop Tomcat application"
stop url="$"
username="$"
password="$"
path="/$"/
/target
target name="list" description="List Tomcat applications"
list url="$"
username="$"
password="$"/
/target
!-- End Tomcat tasks --
property name="test.dir" value="test"/
target name="buildtests" description="Compile test tree java files"
mkdir dir="$"/
javac destdir="$" source="1.5" target="1.5" debug="true"
deprecation="false" optimize="false" failonerror="true"
src path="$"/
classpath refid="master-classpath"/
/javac
/target
target name="tests" depends="build, buildtests" description="Run tests"
junit printsummary="on"
fork="false"
haltonfailure="false"
failureproperty="tests.failed"
showoutput="true"
classpath refid="master-classpath"/
formatter type="brief" usefile="false"/
batchtest
fileset dir="$"
include name="**/*Tests.*"/
/fileset
/batchtest
/junit
fail if="tests.failed"
tests.failed=$
***********************************************************
***********************************************************
**** One or more tests failed! Check the output ... ****
***********************************************************
***********************************************************
/fail
/target
!-- clean --
target name="clean" description="Clean output directories"
delete
fileset dir="$"
include name="**/*.class"/
/fileset
/delete
/target
target name="undeploy" description="Un-Deploy application"
delete
fileset dir="$/$"
include name="**/*.*"/
/fileset
/delete
/target
/project
Q2: 使用Ant在编译java类的时候出现以下错误,请问是什么原因呢?应该如何解决
泛型类型,javac 编译出错,加-source 1.5
泛型从1.5以后开始有
C:\Documents and Settings\Administratorjavac
用法: javac options source files
其中, 可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
-classpath 路径 指定查找用户类文件和注释处理程序的位置
-cp 路径 指定查找用户类文件和注释处理程序的位置
-sourcepath 路径 指定查找输入源文件的位置
-bootclasspath 路径 覆盖引导类文件的位置
-extdirs 目录 覆盖所安装扩展的位置
-endorseddirs 目录 覆盖签名的标准路径的位置
-proc:{none,only} 控制是否执行注释处理和/或编译。
-processor class1[,class2,class3...] 要运行的注释处理程序的名称; 绕过默认的搜索进程
-processorpath 路径 指定查找注释处理程序的位置
-parameters 生成元数据以用于方法参数的反射
-d 目录 指定放置生成的类文件的位置
-s 目录 指定放置生成的源文件的位置
-h 目录 指定放置生成的本机标头文件的位置
-implicit:{none,class} 指定是否为隐式引用文件生成类文件
-encoding 编码 指定源文件使用的字符编码
-source 发行版 提供与指定发行版的源兼容性
-target 发行版 生成特定 VM 版本的类文件
-profile 配置文件 请确保使用的 API 在指定的配置文件中可用
-version 版本信息
-help 输出标准选项的提要
-A关键字[=值] 传递给注释处理程序的选项
-X 输出非标准选项的提要
-J标记 直接将 标记 传递给运行时系统
-Werror 出现警告时终止编译
@文件名 从文件读取选项和文件名
Q3: Java项目代码显示错误,但是可以通过ant的编译并运行
一般svn检出来以后,要改下编码,把jdk删掉然后添加你电脑上的jdk,还有就是看什么jar包没引入的就映入一下
Q4: Ant运行java类问题,怎么解决
ant有javac标签可以编译java文件ant修改java代码,java标签运行class文件ant修改java代码,jar标签打包java文件。例如
javac srcdir="src"
destdir="build"
classpath="xyz.jar"
debug="on"
source="1.8"
/
这个表示编译src下ant修改java代码的所有java文件到build目录ant修改java代码,依赖xyz.jar
java classname="test.Main"
arg value="-h"/
classpath
pathelement location="dist/test.jar"/
pathelement path="${java.class.path}"/
/classpath
/java
这个是运行一个class类ant修改java代码的例子。
Q5: 如何使用Ant来编译Java文件以及如何运行
一、源文件情况
源文件位置为ant修改java代码:D:\temp,源文件名(含包名字):com.ldq.WeatherDemo.java
前提:已安装 jdk ,并配置好环境变量。
二、过程
1、编译:
提示符进入 D:\temp 路径下,输入:javac com\ldq\WeatherDemo.java
生成类文件:WeatherDemo.class
2、打包:
提示符进入 D:\temp 路径下,输入:jar cvf WeatherDemo.jar com\ldq\WeatherDemo.class
生成档案文件:WeatherDemo.jar
3、修改 MANIFEST.MF 文件:
由于引用ant修改java代码了外部的类,所以要添加引用类的路径,即修改MANIFEST.MF文件。保存如下内容到 D:\temp下,文件名 MANIFEST.MF
Manifest-Version: 1.0
Sealed: true
Main-Class: com.ldq.WeatherDemo
Class-Path: lib/jaxrpc.jar lib/log4j-1.2.8.jar lib/mail.jar lib/saaj.jar lib/tools.jar lib/wsdl4j-1.5.1.jar lib/activation.jar lib/axis.jar lib/axis-ant.jar lib/commons-discovery-0.2.jar lib/commons-logging-1.0.4.jar
注意在后面空两行。
提示符进入 D:\temp 路径下,输入:jar umf MANIFEST.MF WeatherDemo.jar
执行时会提示更新的内容。
4、添加包含引用类的相应文件:
在 D:\temp 路径下,新建 lib 文件夹,讲对应的 jaxrpc.jar ... 拷入其中,此时,即可双击(或在提示符下输入:java -jar WeatherDemo.jar)运行 WeatherDemo.jar 文件了。
三、总结
双击运行 jar 文件时,虚拟机会到 jar 文件中下找 .MF 文件,找到对应的 Main-Class 运行,引入的类在 Class-Path 所指路径。
事实上可以利用 winrar或winzip 工具打开 jar 文件,直接将修改好的 MANIFEST.MF 拷入覆盖,class文件也可以做同样的操作,节省了输入复杂难记的命令。另外,对于 javaME 生成的 jar 文件,限制严格些,MANIFEST.MF 文件中有个文件大小的字段,可以先保存,查看文件大小,再修改保存。
另一种方法是通过 Eclipse - Export - Runnable JAR file 直接生成 jar 文件,此时,所有的引用类都被打包在 jar 文件里了。
关于ant修改java代码和ant 编译java的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。





