用ant打包不成功,帮忙看看怎么回事? 把需要的Jar包放到编译的环境变量里就可以了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 什么jar?哦,对了,我还没装Struts,是不是要装这个东东啊?另外问下,装了j2eesdk后,是不是classpath里只要设j2eesdk里是jdk目录下的lib就行了,而不要了原来j2seSDK的那个lib了?谢谢 com/sun/enterprise/tools/packager/Ma这个东西是哪个Jar包下的就把那个Jar放到编译环境里后面说的jdk环境没问题 把你的build.xml贴出来,还有你的目录结构。分析一下就知道原因了。 是com/sun/enterprise/tools/packager/Main吧?怎么看这个东西是哪个jar下的呢? - <project name="j2ee-tutorial-app" default="about" basedir=".">- <target name="init"> <tstamp /> <property name="build" value="build" /> <property name="dist" value="dist" /> <property name="src" value="src" /> <property name="sql" value="sql" /> <property environment="myenv" /> <property name="cpath" value=".:${myenv.J2EE_HOME}/lib/j2ee.jar:./src:jar/tx-ejb.jar:jar/account-ejb.jar:jar/customer-ejb.jar" /> <property name="packager" value="com.sun.enterprise.tools.packager.Main" /> <property name="pack-jvmargs" value="-Xmx128m" /> <property name="pack-path" value=".:${myenv.J2EE_HOME}\lib\j2ee.jar:${myenv.J2EE_HOME}\lib\locale" /> <property name="app-jars" value="jar/account-ejb.jar:jar/customer-ejb.jar:jar/tx-ejb.jar:jar/web-client.war:jar/app-client.jar" /> <property name="util-files" value="com/sun/ebank/util" /> <property name="ejb-exception-files" value="com/sun/ebank/ejb/exception" /> <property name="account-ejb-files" value="com/sun/ebank/ejb/account:com/sun/ebank/ejb/customer/Customer.class:com/sun/ebank/ejb/customer/CustomerHome.class" /> <property name="customer-ejb-files" value="com/sun/ebank/ejb/customer" /> <property name="tx-ejb-files" value="com/sun/ebank/ejb/tx:com/sun/ebank/ejb/account/Account.class:com/sun/ebank/ejb/account/AccountHome.class" /> <property name="ac-files" value="com/sun/ebank/appclient:AdminMessages.properties:AdminMessages_es.properties" /> <property name="cloud-lib" value="${myenv.J2EE_HOME}/lib/cloudscape" /> <property name="system-lib" value="${myenv.J2EE_HOME}/lib/system" /> <property name="cloud-path" value=".:${cloud-lib}/cloudclient.jar:${cloud-lib}/RmiJdbc.jar:${system-lib}/cloudutil.jar:${system-lib}/cloudscape.jar" /> <property name="cloud-jvmargs" value="-ms16m -mx32m -Dij.connection.CloudscapeDB=jdbc:rmi://localhost:1099/jdbc:cloudscape:CloudscapeDB;create=true -Dcloudscape.system.home=${myenv.J2EE_HOME}\cloudscape" /> </target>- <target name="prepare" depends="init"> <mkdir dir="${build}" /> </target> <target name="all" depends="package-ejb,package-web,setruntime-ac,assemble-app,setruntime-app" /> - <target name="compile-exception" depends="prepare"> <javac srcdir="${src}" destdir="${build}" includes="**/exception/*" classpath="${cpath}" /> </target>- <target name="compile-detail" depends="prepare"> <javac srcdir="${src}" destdir="${build}" includes="**/util/*Details.java" classpath="${cpath}" /> </target>- <target name="compile-interface" depends="compile-detail,compile-exception"> <javac srcdir="${src}" destdir="${build}" includes="**/ejb/**/**" excludes="**/ejb/**/*Bean*,**/ejb/exception/***,**/ejb/test/**" classpath="${cpath}" /> </target>- <target name="compile-util" depends="compile-interface"> <javac srcdir="${src}" destdir="${build}" includes="**/ebank/util/**" classpath="${cpath}" /> </target> - <target name="compile-ejb" depends="compile-util"> <javac srcdir="${src}" destdir="${build}" includes="**/ebank/ejb/**/*Bean*" classpath="${cpath}" /> </target>- <target name="package-account" depends="compile-ejb"> <delete file="jar/account-ejb.jar" /> - <java classname="${packager}" fork="yes"> <jvmarg line="${pack-jvmargs}" /> <arg line="-ejbJar ${build} ${account-ejb-files}:${ejb-exception-files}:${util-files} dd/account-ejb.xml jar/account-ejb.jar" /> <classpath path="${pack-path}" /> </java> </target>- <target name="package-customer" depends="compile-ejb"> <delete file="jar/customer-ejb.jar" /> - <java classname="${packager}" fork="yes"> <jvmarg line="${pack-jvmargs}" /> <arg line="-ejbJar ${build} ${customer-ejb-files}:${ejb-exception-files}:${util-files} dd/customer-ejb.xml jar/customer-ejb.jar" /> <classpath path="${pack-path}" /> </java> </target>- <target name="package-tx" depends="compile-ejb"> <delete file="jar/tx-ejb.jar" /> - <java classname="${packager}" fork="yes"> <jvmarg line="${pack-jvmargs}" /> <arg line="-ejbJar ${build} ${tx-ejb-files}:${ejb-exception-files}:${util-files} dd/tx-ejb.xml jar/tx-ejb.jar" /> <classpath path="${pack-path}" /> </java> </target> <target name="package-ejb" depends="package-account,package-customer,package-tx" /> - <target name="compile-web" depends="prepare"> <javac srcdir="${src}" destdir="${build}" includes="com/**/web/**" classpath="${cpath}" /> </target>- <target name="package-web" depends="compile-web"> <delete file="jar/web-client.war" /> - <war warfile="jar/web-client.war" webxml="dd/web.xml">- <fileset dir="${src}/web"> <include name="*.jsp" /> <include name="images/*.gif" /> </fileset>- <webinf dir="${src}/web"> <include name="*.tld" /> <exclude name="*.jsp" /> <exclude name="*.txt" /> <exclude name="images/**" /> </webinf>- <webinf dir="jar"> <include name="*.tld" /> </webinf>- <lib dir="jar"> <include name="struts.jar" /> </lib>- <classes dir="${build}"> <include name="**/*.class" /> <exclude name="com/sun/ebank/appclient/**" /> <exclude name="com/sun/ebank/ejb/**" /> <exclude name="com/sun/ebank/util/**" /> </classes>- <classes dir="${src}/web"> <include name="*.properties" /> </classes> </war> </target>- <target name="compile-ac" depends="compile-util"> <javac srcdir="${src}" destdir="${build}" includes="**/appclient/**" classpath="${cpath}" /> </target>- <target name="package-ac" depends="compile-ac">- <copy todir="${build}">- <fileset dir="${src}"> <include name="**/appclient/*.properties" /> </fileset> <mapper type="flatten" /> </copy> <delete file="jar/app-client.jar" /> - <java classname="${packager}" fork="yes"> <jvmarg line="${pack-jvmargs}" /> <arg line="-applicationClient ${build} ${ac-files} com.sun.ebank.appclient.BankAdmin dd/app-client.xml jar/app-client.jar" /> <classpath path="${pack-path}" /> </java> </target>- <target name="setruntime-ac" depends="package-ac">- <java classname="${packager}" fork="yes"> <jvmarg line="${pack-jvmargs}" /> <arg line="-setRuntime jar/app-client.jar dd/runtime-ac.xml" /> <classpath path="${pack-path}" /> </java> </target>- <target name="assemble-app" depends="init"> <delete file="jar/DukesBankApp.ear" /> - <java classname="${packager}" fork="yes"> <jvmarg line="${pack-jvmargs}" /> <arg line="-enterpriseArchive ${app-jars} DukesBankApp jar/DukesBankApp.ear" /> <classpath path="${pack-path}" /> </java> </target>- <target name="setruntime-app" depends="init">- <java classname="${packager}" fork="yes"> <jvmarg line="${pack-jvmargs}" /> <arg line="-setRuntime jar/DukesBankApp.ear dd/runtime-app.xml" /> <classpath path="${pack-path}" /> </java> </target>- <target name="db-create-table" depends="init">- <java classname="COM.cloudscape.tools.ij" fork="yes"> <jvmarg line="${cloud-jvmargs}" /> <arg value="${sql}/create-table.sql" /> <classpath path="${cloud-path}" /> </java> </target>- <target name="db-insert" depends="init">- <java classname="COM.cloudscape.tools.ij" fork="yes"> <jvmarg line="${cloud-jvmargs}" /> <arg value="${sql}/insert.sql" /> <classpath path="${cloud-path}" /> </java> </target>- <target name="db-list" depends="init">- <java classname="COM.cloudscape.tools.ij" fork="yes"> <jvmarg line="${cloud-jvmargs}" /> <arg value="${sql}/listAccount.sql" /> <classpath path="${cloud-path}" /> </java> </target>- <target name="db-delete" depends="init">- <java classname="COM.cloudscape.tools.ij" fork="yes"> <jvmarg line="${cloud-jvmargs}" /> <arg value="${sql}/delete.sql" /> <classpath path="${cloud-path}" /> </java> </target>- <target name="db-reset-key" depends="init">- <java classname="COM.cloudscape.tools.ij" fork="yes"> <jvmarg line="${cloud-jvmargs}" /> <arg value="${sql}/reset-key.sql" /> <classpath path="${cloud-path}" /> </java> </target>- <target name="about"> <echo message="Main targets for the Duke's Bank application:" /> <echo message="" /> <echo message="EJB" /> <echo message="compile-ejb" /> <echo message="package-ejb" /> <echo message="" /> <echo message="Web" /> <echo message="compile-web" /> <echo message="package-web" /> <echo message="" /> <echo message="App Client" /> <echo message="compile-ac" /> <echo message="package-ac" /> <echo message="setruntime-ac" /> <echo message="" /> <echo message="J2EE Application" /> <echo message="assemble-app" /> <echo message="setruntime-app" /> <echo message="" /> <echo message="Database" /> <echo message="db-create-table" /> <echo message="db-insert" /> </target>- <target name="clean" depends="init"> <delete dir="${build}" /> </target> </project> 很简单是你的-classpath 里没有包括所需的内裤。 是什么类库呢?是指系统的还是这个bank应用的?我觉得会不会和这个有关? <property name="packager" value="com.sun.enterprise.tools.packager.Main" /> <property name="pack-path" value=".:${myenv.J2EE_HOME}\lib\j2ee.jar:${myenv.J2EE_HOME}\lib\locale" /> 这两个是什么意思? 指BANK应用的。 <property name="packager" value="com.sun.enterprise.tools.packager.Main" /> ——定义了packager的变量。没错就是和这个有关。<java classname="${packager}" fork="yes">这里面需要加上classpath的属性定义。classpath里要指明packager.Main所在的Class或者JAR包。至于在哪个JAR里你可以用资源管理器搜索一下。 至于在哪个JAR里你可以用资源管理器搜索一下。-------------------------------------------请问如何搜索呀?资源管理器里只看到文件名吧? 晕!这都不会用呀,搜索文件名你就填*.jar,包含文字你就填com.sun.enterprise.tools.packager不就得了。再晕~~~ 呵呵,我不知道jar还能查文本的。但只查到有com.sun.enterprise.tools,在d:\sun\appserver\lib\appserv-assemblytool.jar中是com.sun.enterprise.tools.deployment...com.sun.enterprise.tools.common...而没有.package,我把d:\sun\appserver\lib加在classpath中也是一样报先前的错。难道真是版本问题吗? 下装个1.3的看看吧http://java.sun.com/j2se/1.3/http://java.sun.com/j2ee/1.3/ com/sun/enterprise/tools/packager/Ma这个东西是哪个Jar包下的就把那个Jar放到编译环境里后面说的jdk环境没问题 看来是版本的问题,我装了1.3就好了,但查了一下也没有哪个jar里有这个class信息。谢谢大家,给分了 急。。。服务器访问超慢。。。 axis2 webservice或者 xfire webservice问题 csdn打开真慢 关于提交验证(struts) struts2+orcale怎么存取大对象(图片,音乐等) TOMCAT可以在同一台机子上设置多个不同端口的网站吗?如果可以,请问怎么设置,谢谢! 请问学习java需要多久?如何学习? 请给出发送带附件邮件的java代码,万分感谢!!!! EJB高手请指教! j2ee sdk 如何与SQL Server 2000 连接 jsp不能编译(tomcat) 急。。。。在线等 JDBC关于同时取得存储过程的返回值和结果集的问题,解决马上结帖!
哦,对了,我还没装Struts,是不是要装这个东东啊?另外问下,装了j2eesdk后,是不是classpath里只要设j2eesdk里是jdk目录下的lib就行了,
而不要了原来j2seSDK的那个lib了?
谢谢
后面说的jdk环境没问题
怎么看这个东西是哪个jar下的呢?
- <target name="init">
<tstamp />
<property name="build" value="build" />
<property name="dist" value="dist" />
<property name="src" value="src" />
<property name="sql" value="sql" />
<property environment="myenv" />
<property name="cpath" value=".:${myenv.J2EE_HOME}/lib/j2ee.jar:./src:jar/tx-ejb.jar:jar/account-ejb.jar:jar/customer-ejb.jar" />
<property name="packager" value="com.sun.enterprise.tools.packager.Main" />
<property name="pack-jvmargs" value="-Xmx128m" />
<property name="pack-path" value=".:${myenv.J2EE_HOME}\lib\j2ee.jar:${myenv.J2EE_HOME}\lib\locale" />
<property name="app-jars" value="jar/account-ejb.jar:jar/customer-ejb.jar:jar/tx-ejb.jar:jar/web-client.war:jar/app-client.jar" />
<property name="util-files" value="com/sun/ebank/util" />
<property name="ejb-exception-files" value="com/sun/ebank/ejb/exception" />
<property name="account-ejb-files" value="com/sun/ebank/ejb/account:com/sun/ebank/ejb/customer/Customer.class:com/sun/ebank/ejb/customer/CustomerHome.class" />
<property name="customer-ejb-files" value="com/sun/ebank/ejb/customer" />
<property name="tx-ejb-files" value="com/sun/ebank/ejb/tx:com/sun/ebank/ejb/account/Account.class:com/sun/ebank/ejb/account/AccountHome.class" />
<property name="ac-files" value="com/sun/ebank/appclient:AdminMessages.properties:AdminMessages_es.properties" />
<property name="cloud-lib" value="${myenv.J2EE_HOME}/lib/cloudscape" />
<property name="system-lib" value="${myenv.J2EE_HOME}/lib/system" />
<property name="cloud-path" value=".:${cloud-lib}/cloudclient.jar:${cloud-lib}/RmiJdbc.jar:${system-lib}/cloudutil.jar:${system-lib}/cloudscape.jar" />
<property name="cloud-jvmargs" value="-ms16m -mx32m -Dij.connection.CloudscapeDB=jdbc:rmi://localhost:1099/jdbc:cloudscape:CloudscapeDB;create=true -Dcloudscape.system.home=${myenv.J2EE_HOME}\cloudscape" />
</target>
- <target name="prepare" depends="init">
<mkdir dir="${build}" />
</target>
<target name="all" depends="package-ejb,package-web,setruntime-ac,assemble-app,setruntime-app" />
- <target name="compile-exception" depends="prepare">
<javac srcdir="${src}" destdir="${build}" includes="**/exception/*" classpath="${cpath}" />
</target>
- <target name="compile-detail" depends="prepare">
<javac srcdir="${src}" destdir="${build}" includes="**/util/*Details.java" classpath="${cpath}" />
</target>
- <target name="compile-interface" depends="compile-detail,compile-exception">
<javac srcdir="${src}" destdir="${build}" includes="**/ejb/**/**" excludes="**/ejb/**/*Bean*,**/ejb/exception/***,**/ejb/test/**" classpath="${cpath}" />
</target>
- <target name="compile-util" depends="compile-interface">
<javac srcdir="${src}" destdir="${build}" includes="**/ebank/util/**" classpath="${cpath}" />
</target>
<javac srcdir="${src}" destdir="${build}" includes="**/ebank/ejb/**/*Bean*" classpath="${cpath}" />
</target>
- <target name="package-account" depends="compile-ejb">
<delete file="jar/account-ejb.jar" />
- <java classname="${packager}" fork="yes">
<jvmarg line="${pack-jvmargs}" />
<arg line="-ejbJar ${build} ${account-ejb-files}:${ejb-exception-files}:${util-files} dd/account-ejb.xml jar/account-ejb.jar" />
<classpath path="${pack-path}" />
</java>
</target>
- <target name="package-customer" depends="compile-ejb">
<delete file="jar/customer-ejb.jar" />
- <java classname="${packager}" fork="yes">
<jvmarg line="${pack-jvmargs}" />
<arg line="-ejbJar ${build} ${customer-ejb-files}:${ejb-exception-files}:${util-files} dd/customer-ejb.xml jar/customer-ejb.jar" />
<classpath path="${pack-path}" />
</java>
</target>
- <target name="package-tx" depends="compile-ejb">
<delete file="jar/tx-ejb.jar" />
- <java classname="${packager}" fork="yes">
<jvmarg line="${pack-jvmargs}" />
<arg line="-ejbJar ${build} ${tx-ejb-files}:${ejb-exception-files}:${util-files} dd/tx-ejb.xml jar/tx-ejb.jar" />
<classpath path="${pack-path}" />
</java>
</target>
<target name="package-ejb" depends="package-account,package-customer,package-tx" />
- <target name="compile-web" depends="prepare">
<javac srcdir="${src}" destdir="${build}" includes="com/**/web/**" classpath="${cpath}" />
</target>
- <target name="package-web" depends="compile-web">
<delete file="jar/web-client.war" />
- <war warfile="jar/web-client.war" webxml="dd/web.xml">
- <fileset dir="${src}/web">
<include name="*.jsp" />
<include name="images/*.gif" />
</fileset>
- <webinf dir="${src}/web">
<include name="*.tld" />
<exclude name="*.jsp" />
<exclude name="*.txt" />
<exclude name="images/**" />
</webinf>
- <webinf dir="jar">
<include name="*.tld" />
</webinf>
- <lib dir="jar">
<include name="struts.jar" />
</lib>
- <classes dir="${build}">
<include name="**/*.class" />
<exclude name="com/sun/ebank/appclient/**" />
<exclude name="com/sun/ebank/ejb/**" />
<exclude name="com/sun/ebank/util/**" />
</classes>
- <classes dir="${src}/web">
<include name="*.properties" />
</classes>
</war>
</target>
- <target name="compile-ac" depends="compile-util">
<javac srcdir="${src}" destdir="${build}" includes="**/appclient/**" classpath="${cpath}" />
</target>
- <target name="package-ac" depends="compile-ac">
- <copy todir="${build}">
- <fileset dir="${src}">
<include name="**/appclient/*.properties" />
</fileset>
<mapper type="flatten" />
</copy>
<delete file="jar/app-client.jar" />
- <java classname="${packager}" fork="yes">
<jvmarg line="${pack-jvmargs}" />
<arg line="-applicationClient ${build} ${ac-files} com.sun.ebank.appclient.BankAdmin dd/app-client.xml jar/app-client.jar" />
<classpath path="${pack-path}" />
</java>
</target>
- <target name="setruntime-ac" depends="package-ac">
- <java classname="${packager}" fork="yes">
<jvmarg line="${pack-jvmargs}" />
<arg line="-setRuntime jar/app-client.jar dd/runtime-ac.xml" />
<classpath path="${pack-path}" />
</java>
</target>
- <target name="assemble-app" depends="init">
<delete file="jar/DukesBankApp.ear" />
- <java classname="${packager}" fork="yes">
<jvmarg line="${pack-jvmargs}" />
<arg line="-enterpriseArchive ${app-jars} DukesBankApp jar/DukesBankApp.ear" />
<classpath path="${pack-path}" />
</java>
</target>
- <target name="setruntime-app" depends="init">
- <java classname="${packager}" fork="yes">
<jvmarg line="${pack-jvmargs}" />
<arg line="-setRuntime jar/DukesBankApp.ear dd/runtime-app.xml" />
<classpath path="${pack-path}" />
</java>
</target>
- <target name="db-create-table" depends="init">
- <java classname="COM.cloudscape.tools.ij" fork="yes">
<jvmarg line="${cloud-jvmargs}" />
<arg value="${sql}/create-table.sql" />
<classpath path="${cloud-path}" />
</java>
</target>
- <target name="db-insert" depends="init">
- <java classname="COM.cloudscape.tools.ij" fork="yes">
<jvmarg line="${cloud-jvmargs}" />
<arg value="${sql}/insert.sql" />
<classpath path="${cloud-path}" />
</java>
</target>
- <target name="db-list" depends="init">
- <java classname="COM.cloudscape.tools.ij" fork="yes">
<jvmarg line="${cloud-jvmargs}" />
<arg value="${sql}/listAccount.sql" />
<classpath path="${cloud-path}" />
</java>
</target>
- <target name="db-delete" depends="init">
- <java classname="COM.cloudscape.tools.ij" fork="yes">
<jvmarg line="${cloud-jvmargs}" />
<arg value="${sql}/delete.sql" />
<classpath path="${cloud-path}" />
</java>
</target>
- <target name="db-reset-key" depends="init">
- <java classname="COM.cloudscape.tools.ij" fork="yes">
<jvmarg line="${cloud-jvmargs}" />
<arg value="${sql}/reset-key.sql" />
<classpath path="${cloud-path}" />
</java>
</target>
- <target name="about">
<echo message="Main targets for the Duke's Bank application:" />
<echo message="" />
<echo message="EJB" />
<echo message="compile-ejb" />
<echo message="package-ejb" />
<echo message="" />
<echo message="Web" />
<echo message="compile-web" />
<echo message="package-web" />
<echo message="" />
<echo message="App Client" />
<echo message="compile-ac" />
<echo message="package-ac" />
<echo message="setruntime-ac" />
<echo message="" />
<echo message="J2EE Application" />
<echo message="assemble-app" />
<echo message="setruntime-app" />
<echo message="" />
<echo message="Database" />
<echo message="db-create-table" />
<echo message="db-insert" />
</target>
- <target name="clean" depends="init">
<delete dir="${build}" />
</target>
</project>
<property name="packager" value="com.sun.enterprise.tools.packager.Main" />
<property name="pack-path" value=".:${myenv.J2EE_HOME}\lib\j2ee.jar:${myenv.J2EE_HOME}\lib\locale" /> 这两个是什么意思?
——定义了packager的变量。
没错就是和这个有关。
<java classname="${packager}" fork="yes">
这里面需要加上classpath的属性定义。classpath里要指明packager.Main所在的Class或者JAR包。至于在哪个JAR里你可以用资源管理器搜索一下。
-------------------------------------------请问如何搜索呀?资源管理器里只看到文件名吧?
这都不会用呀,搜索文件名你就填*.jar,包含文字你就填com.sun.enterprise.tools.packager不就得了。
再晕~~~
但只查到有com.sun.enterprise.tools,在d:\sun\appserver\lib\appserv-assemblytool.jar中
是com.sun.enterprise.tools.deployment...
com.sun.enterprise.tools.common...
而没有.package,我把d:\sun\appserver\lib加在classpath中也是一样报先前的错。难道真是版本问题吗?
http://java.sun.com/j2se/1.3/
http://java.sun.com/j2ee/1.3/
后面说的jdk环境没问题