标签:子项目 void 文件 语法错误 port system 路径 需要 java代码
今天使用vscode 编写java代码做测试时候,发现这个问题,大概总结一下。
目录结构
bao -> Point.java
test.java
package bao; public class Point<T> {// 此处可以随便写标识符号 private T x; private T y; public void setX(T x) {// 作为参数 this.x = x; } public void setY(T y) { this.y = y; } public T getX() {// 作为返回值 return this.x; } public T getY() { return this.y; } };
import bao.Point; public class test { public static void main(String[] args) { //IntegerPoint使用 Point<Integer> p = new Point<Integer>(); p.setX(new Integer(100)) ; System.out.println(p.getX()); //FloatPoint使用 // Point<Float> p = new Point<Float>(); // p.setX(new Float(100.12f)); // System.out.println(p.getX()); } }
编译报错:The declared package does not match the expected package bao Java
大概的原因是编译器在bao这个包名下找不到Point.java, 所以需要在vscode中把根目录加入到java的sourcepath
使得编译器在寻找Point.java时,以项目根目录作为基准寻找路径,这样就编译通过了。
另外还有, 有的时候你在主方法里run或者debug的时候,编译器虽然能输出最后结果,但还是会报"Build failed xxxxx",我查了下官网,说是
然后一看,原来我现在的项目路径下包含许多子项目,只要有一个子项目的文件存在语法错误,我这个项目编译时就会报“build failed”,所以以后用vscode详见项目最好还是以每个项目作为根目录来建。
The declared package does not match the expected package Java
标签:子项目 void 文件 语法错误 port system 路径 需要 java代码
原文地址:https://www.cnblogs.com/linux-centos/p/10784037.html