Java 如何在LINUX上设置环境变量CLASSPATH和NoClassDefFoundError
我一直在研究课程路径,遇到了一个问题。 我使用了下面的代码:Java 如何在LINUX上设置环境变量CLASSPATH和NoClassDefFoundError,java,linux,classpath,noclassdeffounderror,Java,Linux,Classpath,Noclassdeffounderror,我一直在研究课程路径,遇到了一个问题。 我使用了下面的代码: class AAA { public AAA() { System.out.println("AAA"); } } class BBB { public BBB() { System.out.println("BBB"); } } class ABMain { public static void main(String[] args)
class AAA
{
public AAA()
{
System.out.println("AAA");
}
}
class BBB
{
public BBB()
{
System.out.println("BBB");
}
}
class ABMain
{
public static void main(String[] args)
{
AAA aaa=new AAA();
BBB bbb=new BBB();
}
}
在终点站,我做到了:
你能评论一下我应该做些什么来让它工作吗?提前谢谢。您需要在ABMain类之前导入sub包,因为您的ABMain将如何知道AAA和BBB的位置 我建议在AAA级和BBB级之前使用 包装分包 并通过在ABMain类之前编写以下代码来导入包
进口分包商* 根据标题,您使用LINUX。但您的步骤是针对windows生态系统的。 要更正该示例,您应该使用直接斜杠作为路径分隔符,并添加current dir作为类路径替代项(以便能够加载主类):
javac ABMain.java
mv AAA.class./sub/AAA.class
mv BBB.class./sub/BBB.class
java-cp./sub:。ABMain
可能重复我使用了你提供的命令,效果很好!在第四步中,请您解释一下命令(我不完全理解-cp./sub:)?谢谢。-cp标志指定特定java启动的类路径,而不是全局设置。在linux中,全局设置CLASSPATH变量如下:export CLASSPATH=/some/path/one:/some/path/two:/some/path/three这里是相同的-设置两个路径。和./subI希望文件在没有导入包的情况下运行,因为我在完成代码编写后移动了AAA.class和BBB.class。