当前位置:首页 » 编程软件 » ant编译指定jdk

ant编译指定jdk

发布时间: 2022-08-22 13:50:39

㈠ ant1.9.6怎么指定jdk路径

java初学者 JDK命令行 路径问题
屏幕出现:
Exception in thread "main" java.lang.NoClassDefFoundError: C:\JavaTest\Hello
hello.class明明在为什么说CLASS不在,原因在CLASSPATH

1、SET CLASSPATH=、、、、
2、JAVA -CLASSPATH C:\、、、
JDK将带有空格的C:\Java Test分隔为两部分"C:\Java"及"Test\Hello.java",并将C:\Java视作为一个无效的选项了。这种情况下,我们需要将整个路径都加上双引号,即
javac "C:\Java Test\Hello.java"
这回JDK知道,引号里面的是一个完整的路径,因此就不会报错了。同样,对java命令也需要如此,即
java -classpath "C:\Java Test" Hello

Java很诱人,但对于刚跨入Java门槛的初学者来说,编译并运行一个无比简单的Java程序简直就是一个恶梦。明明程序没错,但各种各样让人摸 不着头脑的错误信息真的让你百思不得其解,许多在Java门口徘徊了很久的初学者就这样放弃了学习Java的机会,很是可惜。笔者也经历过这个无比痛苦的 阶段,感觉到编译难的问题就出在classpath的设置及对package的理解之上。本文以实例的方式,逐一解决在编译过程中所出现的各种 classpath的设置问题。本文实例运行的环境是在Windows XP + JDK 1.5.0。对其他的环境,读者应该很容易进行相应的转换。

㈡ 用ant将程序编译和运行,都要做什么工作

ant是apache项目组的一个子项目,是一个基于java的构建工具。ant本身用java实现,要构建的工程的配置文件用xml格式描述,可以很方便的实现跨平台构建工作。
ant 可以从http://ant.apache.org下载,目前最新版本为1.5.4。下载完毕后直接解压缩到一个目录,例如D:\ant。

下一步我们需要设置如下的环境变量:
ANT_HOME:ant的安装目录,如果按上面方法解压缩了ant,那么这个值应该设为D:\ant
JAVA_HOME:jdk的安装目录
PATH:把%ANT_HOME%\bin目录加到path变量,以便于从命令行直接运行ant。

(1)建立build.xml

用ant编译规模较大的工程非常方便,每个工程都对应一个build.xml文件,这个文件包含与这个工程有关的路径信息和构建任务。

下面是一个最简单的build.xml文件:

<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="projectTemplate" default="init" basedir=".">
<target name="init" >
<property name="lib.dir" value="lib"/>
<echo message="Hello ,lib.dir is set to ${lib.dir}" >
</echo>
</target>
</project>

每个build.xml有且仅有一个project,每个project下面可以包含多个target,每个target表示一个小的任务,每个任务负责执行一段脚本。ant有内置任务集可供使用,例如上面的echo就是在console上显示消息。

更详细的内置任务请参考http://ant.apache.org/manual/coretasklist.html

${lib.dir}表示引用一个名字叫做lib.dir的属性值,这个属性的值就是lib。

(2)运行ant

使用ant.bat可以直接运行ant,如果不带任何参数,ant会在当前路径下搜索build.xml文件,如果找到了这个文件,就运行project的default属性指定的target.我们也可以带参数来运行ant,以便选择build.xml文件和要运行的target:

ant -buildfile c:\demo\build.xml init

表示运行c:\demo\build.xml 中名字为init的target

(3)ant的目标依赖

target有一个属性depends,在其中可以指定一系列的target名字,表示在执行该target前,必须首先执行的一系列其它target。depends具有传递性,例如:targetA depends targetB,而targetB depends targetC和targetD,这样在执行targetA之前,首先执行C和D,然后执行B,最后才会执行A。

下面是个简单的例子,在执行编译的动作前,首先需要建立一个目标代码存放的目录,然后再执行编译。

<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="project" default="init" basedir=".">
<target name="init" >
<property name="dist" value="dist"/>
<mkdir dir="${dist}" />
</target>
<target name="build" depends="init">
<javac srcdir="SourceCode" destdir="${dist}">
</javac>
</target>
</project>

㈢ 请教ant怎么编译jdk源码

整理了一下编译JDK源码的Ant脚本。发现用新一点的JDK编译旧的版本更容易,比如用jdk1.6.0_25编译jdk1.6.0_21。如果直接用jdk1.6.0_21编译自身代码,不是缺这个就是没那个,颇为麻烦。切到jdk1.6.0_25后,一下就编译通过了。
<project name="create rt_debug.jar" default="createJar" basedir=".">
<!-- *************************************************************** -->
<!-- Set-Up of propertys -->
<!-- *************************************************************** -->
<property name="project.build" location="build" />
<property name="project.src" location="${project.build}/src" />
<property name="project.classes" location="${project.build}/classes" />
<property name="project.dist" location="${project.build}/dist" />
<property name="JAVA_SOURCE" value="C:/Dev/Software/Java/jdk1.6.0_21" />
<property name="JAVA_COMPILER" value="C:/Dev/Software/Java/jdk1.6.0_25/fastdebug" />
<property name="debuglevel" value="source,lines,vars" />
<property name="target" value="1.6" />
<property name="source" value="1.6" />
<property environment="env" />
<!-- *************************************************************** -->
<!-- Initialize the bulid environment. -->
<!-- *************************************************************** -->
<target name="init">
<!-- Create the time stamp -->
<tstamp />
</target>
<!-- *************************************************************** -->
<!-- Set-Up of classpath -->
<!-- *************************************************************** -->
<path id="JavaLibraries">
<pathelement location="${project.classes}" />
<fileset dir="${JAVA_COMPILER}/lib">
<include name="**/*.jar" />
</fileset>
<fileset dir="${JAVA_COMPILER}/jre/lib">
<include name="**/*.jar" />
</fileset>
</path>
<path id="project.classpath">
<path refid="JavaLibraries" />
</path>
<!-- *************************************************************** -->
<!-- Clean the bulid environment. -->
<!-- *************************************************************** -->
<target name="clean" depends="init">
<delete dir="${project.build}" quiet="true" />
<mkdir dir="${project.build}" />
</target>
<!-- *************************************************************** -->
<!-- Unpacd the source code package. -->
<!-- *************************************************************** -->
<target name="unpack" depends="init, clean">
<unzip src=\'#\'" /src.zip" dest="${project.src}" />
</target>
<!-- ****************************************************************** -->
<!-- Compile the source code. -->
<!-- ******************************************************************* -->
<target name="build" depends="unpack">
<echo message="Compile ${ant.project.name}" />
<mkdir dir="${project.classes}" />
<javac classpathref="project.classpath" srcdir="${project.src}" destdir="${project.classes}" debug="true" debuglevel="${debuglevel}" source="${source}" target="${target}" fork="true" memoryMaximumSize="512m">
<include name="**/*.java" />
</javac>
</target>
<!-- ****************************************************************** -->
<!-- Create jar package. -->
<!-- ******************************************************************* -->
<target name="createJar" depends="build">
<mkdir dir="${project.dist}" />
<jar jarfile="${project.dist}/rt_debug.jar" compress="false">
<fileset dir="${project.classes}" />
</jar>
</target>
</project>

㈣ 请问下在myeclipse下可以编译java程序的jdk版本,放在ant编译怎么不通过,提示兼容性问题

MyEclipse设置JDK和JRE具体的应用版本其实很简单,分为三种状况:
1、设置默认使用的JDK和JRE环境。
具体步骤:菜单window-preferences-java-Installed JRES。
点中了,右边的窗口点ADD按钮,记住选择添加安装了Java目录下的JDK目录,而不是JRE目录。
天价后,在列表中选择你要使用的那个jdk版本即可。
然后Compiler项下,选择编译的jdk级别就可以了。

2、针对项目的环境设置。
右键项目菜单properties-Java Compiler,选择了以后,选中Enable project specific settings,去掉Use compliance from execution environment ......前面的那个选择框,就可以自己选择使用的jdk版本了。

3、应用服务器的环境设置。
选择你要使用的应用服务器名称,点进去会看到JDK的菜单,选中后就可以在右边窗口的下拉选择框中选择自己需要使用的jdk版本了。

㈤ Eclipse ant怎么能用高版本的jdk

eclipse中修改ant的高版本jdk:

1、修改Ant编译版本的方法

2、这里把target改成1.6或者1.7就可以了。

㈥ Ant 用javac编译时怎样指定jdk的版本

可以使用javac命令javac命令格式及用法如下:
用法:javac <选项> <源文件>
其中,可能的选项包括:
-source <版本> 提供与指定版本的源兼容性
-target <版本> 生成特定 VM 版本的类文件 例如:C:\>javac -source 1.5 -target 1.5 p100Sum.java这样就把p100Sum.java源文件兼容的编译成1.5版本了
<javac fork="true"
executable="C:/j2sdk1.4.2_05/bin/javac"
source="1.4"
memoryInitialSize="512m"
memoryMaximumSize="1024m"
classpathref="path.id.classpath"
srcdir="${src}"
destdir="${classes}"
debug="true"
deprecation="on"
optimize="off"
/>
source处填版本号

㈦ 如何使用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 文件:
由于引用了外部的类,所以要添加引用类的路径,即修改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 脚本中如何设置jdk的路径

方法1:
直接修改ANT的运行文件:ant.bat ,设置JAVA_HOME,这样所有的ANT都使用设定的JDK也是一种方法; 我以前做Jetty也是这么做的,挺方便;

方法2:
<javac srcdir="${src}"
destdir="${build}"
fork="yes"
executable="/opt/java/jdk1.1/bin/javac"
compiler="javac1.5"
/>

这样就可以制定特定的java编译器了

热点内容
铁电随机存储器 发布:2025-02-06 10:07:19 浏览:914
eclipse编程 发布:2025-02-06 10:02:21 浏览:636
开源库编译管理员 发布:2025-02-06 09:39:14 浏览:914
脸书怎么注册安卓 发布:2025-02-06 09:36:47 浏览:381
车用安卓导航无线打不开什么原因 发布:2025-02-06 09:27:50 浏览:790
安卓与苹果如何互相传送文件 发布:2025-02-06 09:27:40 浏览:26
华为服务器盘符如何分配 发布:2025-02-06 09:26:41 浏览:560
传奇h5源码下载 发布:2025-02-06 09:26:06 浏览:78
编译uclibc 发布:2025-02-06 09:09:04 浏览:152
用gcc编译16位汇编 发布:2025-02-06 09:06:07 浏览:823