Cygwin:错误:包net.jradius.packet.attribute不存在

时间:2014-08-02 11:06:54

标签: cygwin package javac

这似乎不是通常的CLASSPATH问题,但可能是cygwin特有的。 以下说明了这个问题。

import net.jradius.packet.attribute.AttributeFactory;

public class Test{

 static int x = 100;
}

出现编译时出现以下错误。

$ javac Test.java
Test.java:1: error: package net.jradius.packet.attribute does not exist
import net.jradius.packet.attribute.AttributeFactory;
                               ^
1 error

文件jradius-core-1.1.4.jar位于CLASSPATH中。

在Windows中使用命令行时,它可以正常工作。这是类路径。

 set CLASSPATH=c:\Temp\jradius-core-1.1.4.jar 

使用cygwin时会产生错误。这是类路径。

 export CLASSPATH=/cygdrive/c/Temp/jradius-core-1.1.4.jar

该位置通过cygwin有效,如下所示,它被识别。

ls  $CLASSPATH
/cygdrive/c/Temp/jradius-core-1.1.4.jar

两种方案都使用相同的JDK。 知道为什么它可能会失败通过cygwin ???

2 个答案:

答案 0 :(得分:1)

您正在使用为Windows构建的JDK,因此环境适用于Windows。

据说,你应该为javac提供windows风格的路径。

你正在寻找

cygpath

尝试:

javac Test.java -cp `cygpath.exe -w /cygdrive/c/Temp/jradius-core-1.1.4.jar`

cygpath -w 表示以windows风格打印。

或者只是将 jar 文件放在java文件的相同的目录中,并放在cygwin中:

javac Test.java -cp jradius-core-1.1.4.jar

请参阅this

答案 1 :(得分:0)

将JAR文件添加到目录中,并将类路径更改为包含“*”,这似乎已经起作用。