首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Java中为当前目录设置类路径?

问如何在Java中为当前目录设置类路径?
EN

Stack Overflow用户
提问于 2018-07-10 12:08:19
回答 3查看 7.3K关注 0票数 5

如何将当前文件夹包含为类路径?我有一个实用工具和一个主要的类,如;

代码语言:javascript
复制
/home/project/Main.class
/home/project/libs/com/fr/Utility.class

当我尝试以/home/project/ dir的形式运行主类时;

代码语言:javascript
复制
java -cp "libs/*;" Main

我的错误越来越少。

代码语言:javascript
复制
Error: Could not find or load main class Main

编辑:

主修班;

代码语言:javascript
复制
import com.fr.Utility;

public class Main{
 ....
}

公用事业类;

代码语言:javascript
复制
package com.fr;

public class Utility{
 ....
}

当我奔跑的时候;

代码语言:javascript
复制
java -cp .:libs/* Main

我的错误越来越少;

代码语言:javascript
复制
Exception in thread "main" java.lang.NoClassDefFoundError: com/fr/Utility
Caused by: java.lang.ClassNotFoundException: com.fr.Utility
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-07-10 12:12:26

如果您在Linux上,应该使用冒号作为路径分隔符:,在;上使用冒号作为路径分隔符。

还包括带点.的当前路径,并从类路径中删除通配符*:

java -cp .:libs/ Main或java -cp .;libs/ Main

请参阅这个答案和这份文件中的“理解类路径通配符”一节。

票数 5
EN

Stack Overflow用户

发布于 2018-07-10 12:11:15

对当前文件夹使用.:

代码语言:javascript
复制
java -cp .;libs/ Main
票数 4
EN

Stack Overflow用户

发布于 2018-07-10 12:26:18

试炼

代码语言:javascript
复制
java -cp .;libs/ Main

主要问题可能是:

  1. 默认情况下,自定义类路径中不包括当前类路径。
  2. 包含*的Classpath条目将不匹配.class文件,也不会递归搜索子目录。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51264792

复制
相关文章

相似问题

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