我有以下目录结构。我尝试导入从Maven存储库下载的.jar文件。
不幸的是,我收到了一个关于数据绑定和注解的“Package Does Not Exist Error”(包不存在错误)。Test.java:
import java.io.IOException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.annotation.JsonProperty;
public class Test {
public static void main(String args[]) throws IOException {
ObjectMapper mapper = new ObjectMapper();
String json = "{\"id\" : 1}";
Student student = mapper.readerFor(Student.class).readValue(json);
System.out.println(student.getTheId());
}
}
class Student {
private int id;
Student(){}
Student(int id){
this.id = id;
}
@JsonProperty("id")
public int getTheId() {
return id;
}
@JsonProperty("id")
public void setTheId(int id) {
this.id = id;
}
}
奇怪的是智能感知检测到了这个包;然而,当我编译www.example.com时Test.java,Java编译器无法在.jar文件中找到包。
下面是我的设置.json的副本:
{
"java.project.sourcePaths": [
".",
"lib\\jar"
],
"java.project.referencedLibraries": {
"include": [
"lib/**/*.jar"
],
}
}
.jar文件在我的项目库中,ClassPath指向包含.jar文件的文件夹。知道这是怎么回事吗?为什么IntelliSense和Java编译器之间会断开连接?
谢谢!
1条答案
按热度按时间aiazj4mn1#
我修复了这个问题。我删除了windows中的所有内容,并重新创建了以下目录结构:
我的settings.json文件:
我可以构建并运行这段代码。VSCode实现的Powershell运行命令是:
然而,当我删除bin目录并单击run(没有预编译)时,问题出现了。
这太奇怪了。有人知道这是怎么回事吗?我仍然可以操作,但这种行为使使用VSCode变得笨拙。
谢谢