首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类路径不工作

类路径不工作
EN

Stack Overflow用户
提问于 2013-05-20 19:36:07
回答 2查看 360关注 0票数 0

我从爱马仕(hermes2_src_20100121)那里得到了源代码。当我解压它的时候,它有大约10个文件夹,它们是独立的项目。

代码语言:javascript
复制
/myd1/Exetel/Hermes_SRC/ebxml-pkg
/myd1/Exetel/Hermes_SRC/CorvusEbMS
/myd1/Exetel/Hermes_SRC/Commons
Etc….

Each project has its own build script
/myd1/Exetel/Hermes_SRC/ebxml-pkg/ant/build.xml
/myd1/Exetel/Hermes_SRC/CorvusEbMS/ant/build.xml
/myd1/Exetel/Hermes_SRC/Commons/ant/build.xml
Etc….

我需要使用给定的ant脚本构建这10个项目,当我运行它时,脚本失败,它给出了编译错误/myd1/Exetel/Hermes_SRC/ebxml-pkg/src/hk/hku/cecid/ebms/pkg/PKISignatureImpl.java:98:错误: package org.apache.log4j不存在等.....

此问题中,找不到log4j (类似的dom4J、邮件等…。)

因此,我在路径“/myd1/exete/libs/”中创建了文件夹,并在其中添加了所需的jar文件,并将CLASSPATH设置为该文件夹

代码语言:javascript
复制
CLASSPATH=/myd1/exete/libs/*

但是,它仍然会给出同样的错误,因为类路径不工作

我尝试将CLASSPATH添加到~/.bashhrc

代码语言:javascript
复制
CLASSPATH=/myd1/exete/libs/*
Export CLASSPATH

将CLASSPATH添加到gedit /etc/environment Env | grep CLASSPATH打印正确的路径

问题是,当我运行构建脚本时,它仍然给出同样的错误,因为类路径不工作

EN

回答 2

Stack Overflow用户

发布于 2013-05-20 20:10:53

您应该在ANT脚本中设置类路径:

代码语言:javascript
复制
<path id="common.classpath">
    <fileset dir="/myd1/exete/libs">
        <include name="*.jar"/>
    </fileset>
</path>

根据http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/classpath.html设置CLASSPATH

类路径1:类路径2指向.jar、.zip或.class文件的类路径。每个类路径都应该以文件名或目录结尾,具体取决于您将类路径设置为什么:对于包含.class文件的.jar或.zip文件,类路径以.zip或.jar文件的名称结尾。对于未命名包中的.class文件,类路径以包含.class文件的目录结束。对于命名包中的.class文件,类路径以包含“根”包的目录(完整包名称中的第一个包)结束。多个路径条目用冒号分隔。

默认的类路径是当前目录。设置CLASSPATH变量或使用-classpath命令行选项会覆盖该缺省值,因此如果要在搜索路径中包含当前目录,则必须包含“。在新的设置中。

既不是目录也不是档案(.zip或.jar文件)或*的类路径条目将被忽略。

因此,您应该尝试以下两种方法:

代码语言:javascript
复制
CLASSPATH=/myd1/exete/libs/* 
or
CLASSPATH=/myd1/exete/libs
票数 0
EN

Stack Overflow用户

发布于 2013-05-20 21:38:18

将类路径设置为CLASSPATH=/myd1/exete/libs/myjar.jar

例如,在CLASSPATH中命名您的jar!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16648634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档