maven 引入自定义jar包,并外置配置文件

本文介绍在Maven项目中编写小工具时,导入自己的jar包及处理配置文件的方法。通过maven命令导入jar包,在项目中正常引入,打包生成jar包后可运行。配置文件需外置,代码中读取jar包所在路径。还提到打包时包含配置文件等目录的问题待解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

maven项目写一个小工具,需要导入自己的jar包,并要能随时修改配置文件的内容

1,首先是导入自己的jar包
借鉴 https://www.cnblogs.com/Spirit612/p/8079468.html 博主的文章,在此记录一下
使用maven命令

mvn install:install-file  
-Dfile=jar文件所在路径(这里使用绝对路径) 
-DgroupId=包名
-DartifactId=项目名  
-Dversion=版本号  
-Dpackaging=jar  

例子:mvn install:install-file -Dfile=E:\my.jar -DgroupId=com.it -DartifactId=my -Dversion=1.0 -Dpackag

在项目里使用maven正常引入就可以了,对应上面的例子

	<dependency>
	 <groupId>com.it</groupId>
	  <artifactId>my</artifactId>
	  <version>1.0</version>//随意写
	</dependency>

然后在eclipse上执行 run as —> maven install,打包生成jar包
使用命令 java -jar jar包名.jar 就可以了 , jar包名一般是项目名-0.0.1-SNAPSHOT.jar

  1. 外置配置文件my.properties
    因为要读取数据库用户名、密码、地址,还有zookeeper信息等,所以读取的配置文件要放到jar包外面
    我是在代码里直接读取jar包所在路径
	String path = System.getProperty("user.dir")
			+ "/my.properties";
	System.out.println(path);
	File file = new File(path);
	InputStream in = new FileInputStream(file);
	prop.load(in);  

3.遇到问题,我打的jar包也包含了 my.properties文件,还有很多别的目录,可能是build没写好,暂时没搞明白

### Java 编译错误 '找不到符号' 特定于 '类 Data' 当遇到Java编译时提示‘找不到符号’特定于‘类 Data’的错误,通常意味着编译器无法识别`Data`这个类。这可能是由于多种原因造成的。 #### 可能的原因 1. **未导入必要的** 如果`Data`类位于某个特定的内,则需要确保已经通过`import`语句引入了该中的`Data`类[^1]。 2. **拼写错误** 检查代码中是否有任何关于`Data`类名或其他相关名称的拼写错误。即使是大小写的差异也会导致此类问题的发生。 3. **路径配置不正确** 当项目结构较为复杂时,可能是因为项目的构建路径设置不当,使得编译工具未能找到定义`Data`类的实际位置。对于IDE环境下的开发工作来说,应该确认模块间的依赖关系是否已正确定义;而在命令行环境下,则需保证当前目录下存在相应的`.class`文件或源文件。 4. **缺少外部库支持** 若`Data`属于第三方框架的一部分或者是自定义的一个独立组件,在这种情况下还需要额外加入对应的JAR到classpath里去[^3]。 5. **类声明缺失** 确认是否存在名为`Data.java`的源文件以及其内部确实含了public访问修饰符限定下的`Data`类声明。 #### 解决方案示例 假设有一个简单的场景,其中`Data`是一个用户自定义的数据传输对象DTO: ```java // 假设这是另一个文件 Data.java 中的内容 package com.example; public class Data { private String value; // 构造函数、getter 和 setter 方法... } ``` 在其他地方使用它之前要先做如下操作: ```java // 使用前应先导入 import com.example.Data; public class MainApp { public static void main(String[] args){ Data dataInstance = new Data(); // 继续编写业务逻辑... } } ``` 如果是在Maven工程中,且`Data`来自一个外置jar的话,那么pom.xml里面应当添加相应依赖项来获取此资源。 #### 验证解决方案的方法 尝试按照上述建议逐一排查修正潜在的问题之后重新执行编译过程看能否解决问题。也可以利用集成开发环境中提供的自动修复功能辅助定位具体的位置和性质上的偏差之处。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值