Classpath不能工作



我从Hermes获得源代码(hermes2_src_20100121)。当我提取它时,它有大约10个文件夹,这些文件夹是独立的项目。

/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: error: package org.apache. javaLog4j不存在等等…

这个问题,log4j找不到(类似dom4J, Mail等....)

所以我在路径"/myd1/exete/libs/"中创建了一个文件夹,并在那里添加了所需的jar文件,并将CLASSPATH设置为该文件夹

CLASSPATH=/myd1/exete/libs/*

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

我尝试添加CLASSPATH到~/.bashhrc

CLASSPATH=/myd1/exete/libs/*
Export CLASSPATH

在/etc/environment中添加CLASSPATHEnv | grep CLASSPATH打印正确的路径

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

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

<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

classpath1:classpath2 .jar、.zip或. Class文件的类路径。每个类路径应该以文件名或目录结尾,具体取决于要设置的类路径:对于.jar或.zip文件包含.class文件,类路径以.zip文件的名称结束或.jar文件。对于未命名包中的.class文件,类路径以包含.class文件的目录结束。. class的文件在命名包中,类路径以所指定的目录结束包含"根"包(完整包中的第一个包)名字)。多个路径条目用冒号分隔。

默认的类路径是当前目录。设置CLASSPATH变量或使用-classpath命令行选项将覆盖该变量默认的,所以如果您想在搜索中包含当前目录

既不是目录也不是存档(.zip或.zip)的类路径条目

所以你应该试试:

CLASSPATH=/myd1/exete/libs/* 
or
CLASSPATH=/myd1/exete/libs

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

。在CLASSPATH中命名你的jar !

相关内容

  • 没有找到相关文章

最新更新