标签:inpu csharp puts sse 自动加载 技术 classes 浅析 ring
1.Java Build path在哪
在项目鼠标右键的 properties下,或者在Window的properties的java下
2.其中有两个选项project和folder
project:以项目为单位
folder:以文件夹为单位,其中有两个可填写的地方
source folder name :构建搜寻的目录 src
default output folder或者是output folder name:编译后的输出目录 bin
3.java的构建路径
在src下搜寻,在src下的文件夹都默认为包,编译后会在该项目下新建一个bin目录,完全复制于src下的编译后的所有文件,会自动的编译。
4.maven的文件格式
source folder name :构建搜寻的目录

default output folder或者是output folder name:编译后的输出目录 jdbctest/target/classes,不会自动的编译,只有在compile只有才会进行编译。
所以在没有编译之前和clean之后出现一个异常,错误: 找不到或无法加载主类 (前提是使用类.的方式,new的方式会自动编译后加载),所以运行文件,需要先进行编译
问题1:错误: 找不到或无法加载主类
上述已经说明
问题2.src /main/java 根据maven的构建,使用compile后会编译该目录下的.java的文件,放入target下,而对于其他文件不会添加,对java/main/resource,只会合并添加,不会进行编译,假如是java文件,合并后在target中还是java文件,对于test下也类似。

5.由上一些原因所以导致如下一些结果
public class DriverManagerTest {
//文件的运行时建立在编译上
public static void main(String[] args) throws Exception {
//new后会自动加载
// DriverManagerTest driverManagerTest = new DriverManagerTest();
//在没有compile后,或者clean后会找不到类,解决方法上述已经说明
Connection connection = DriverManagerTest.getConnection("config.properties");
System.out.println(connection);
}
public static Connection getConnection(String path) throws IOException, ClassNotFoundException, SQLException {
Properties properties = new Properties();
//所以getResourceAsStream读取的目录是对编译后的文件位置而言的,所以以下在编译以后可以这么写
// InputStream ras=DriverManagerTest.class.getClassLoader().getResourceAsStream(path);
InputStream ras = DriverManagerTest.class.getResourceAsStream("/" + path);
if (ras == null) {
System.out.println("Connection==nulls");
return null;
}
properties.load(ras);
String url = properties.getProperty("url");
String driverClass = properties.getProperty("driverClass");
ras.close();
// 不用获取对象,或自动的注册
Class.forName(driverClass);
Connection connection = DriverManager.getConnection(url, properties);
return connection;
}
}
浅析java的Java-Build-path与maven的Java-Build-path
标签:inpu csharp puts sse 自动加载 技术 classes 浅析 ring
原文地址:https://www.cnblogs.com/gg128/p/9436493.html