导航:首页 > 程序命令 > jar命令读取pom内容

jar命令读取pom内容

发布时间:2022-04-28 00:08:47

1. 如何读取jar类库包里的文件

java">Stringname=clazz.getName();
name=name.substring(0,name.lastIndexOf("."));
name=name.replaceAll("\.","/");
name=name+"/info";
InputStreaminputStream=clazz.getClassLoader().getResourceAsStream(name);
if(inputStream!=null){
BufferedReaderreader=newBufferedReader(newInputStreamReader(inputStream));
try{
serverName=reader.readLine();
}catch(IOExceptione){
e.printStackTrace();
}
serverName=serverName.trim();
}

我这个是读取一个jar中的一个类同目录下的info文件内容,你可以参考一下,clazz是类的Class是对象。

2. 怎么读取jar包里面的

package e.hxraid;
import java.io.*;
public class Resource {
public void getResource() throws IOException{
//返回读取指定资源的输入流
InputStream is=this.getClass().getResourceAsStream("/resource/res.txt");
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String s="";
while((s=br.readLine())!=null)
System.out.println(s);
}
}

我们将java工程下/bin目录中的e/hxraid/Resource.class和资源文件resource/res.txt一并打包进ResourceJar.jar中,不管jar包在系统的任何目录下,调用jar包中的Resource类都可以获得jar包中的res.txt资源,再也不会找不到res.txt文件了

3. 如何在pom文件中引用本地jar包

如何在pom文件中引用本地jar包,这个问题听上去是不是有点荒唐?其实也不荒唐,有时候我们确实需要引用本地jar包,而非maven私服中的jar包,通常情况下,这种情况是要引用一些java的系统jar包。
引用的方法如下:
<dependency>
<groupId>cn.outofmemory</groupId>
<artifactId>my-tools</artifactId>
<version>2.5.0</version>
<type>jar</type>
<scope>system</scope>
<systemPath>${basedir}/lib/mylib1.jar</systemPath>
</dependency>

4. maven怎么引jar包里面的pom

步骤:
1.cmd命令进入该jar包所在路径
2.执行命令:
mvn install:install-file -Dfile=lucene-queryparser-4.6.1.jar
-DgroupId=org.apache.lucene -DartifactId=lucene-queryparser
-Dversion=4.6.1 -Dpackaging=jar
其中:-DgroupId和-DartifactId的作用是指定了这个jar包在repository的安装路径,只是用来告诉项目去这个路径下寻找这个名称的jar包。
比如:
mvn install:install-file -Dfile=hadoop-hdfs-2.2.0.jar
-DgroupId=org.apache.hadoop -DartifactId=hadoop-hdfs -Dversion=2.2.0 -D
-Dpackaging=jar
就是指把hadoop-hdfs-2.2.0.jar安装到repository\org.apache.hadoop\hadoop-hdfs\2.2.0目录下,执行完命令后,如果需要在项目中使用这个jar,则在pom.xml中添加如下配置即可:
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.2.0</version>
</dependency>

注意在每个参数前有个-D

二、怎么在pom.xml中添加项目中libs下的jar呢,而不是从本地仓库中添加?

1、首先将要添加的jar包复制到项目中的libs文件夹

2、然后在pom.xml中添加如下代码:

[html] view plain
<dependency>
<groupId>htmlunit</groupId>
<artifactId>htmlunit</artifactId>
<version>2.21-OSGi</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/htmlunit-2.21-OSGi.jar</systemPath>
</dependency>
注意scope元素和systemPath元素,其中systemPath元素指定的就是jar包在项目中的路径。
注意libs文件夹下的这个jar包不需要Add to Build Path

5. 怎样从JAR文件中读取文件

进入jar文件其实没有说的那么困难,jar文件本质是一个zip格式的压缩文件,只是把文件后缀名改了,要用Java读取里面的文件也没有那么想象的那么困难。使用相关协议就可以:
例如:c盘根目录有一个test.jar文件文件里面有个a.txt文件我们就读取这个a.txt文件
文件对应的URL:
jar:file:/C:/test.jar!/a.txt

Java代码:

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;

public class TestDouble {
public static void main(String[] args) throws IOException {
URL url=new URL("jar:file:/C:/test.jar!/a.txt");
System.out.println(url);
InputStream is=url.openStream();
byte b[]=new byte[1000];
is.read(b);
System.out.println(new String(b).trim());
}
}

不是很清楚你到底是从直接将jar中文件解压出来还是通过Java将jar文件中的文件复制出来,如果是想直接解压出文件用winrar就可以了,要用Java复制看下面这个测试,基本上和复制文件差不多:

import java.io.*;
import java.net.URL;

public class CopyFile {
public static void FormJar(String fileUrl, String dest )
throws IOException
{
int BUFF_SIZE = 100000;
byte[] buffer = new byte[BUFF_SIZE];
InputStream in = null;
OutputStream out = null;
URL url=new URL(fileUrl);
try
{
in = url.openStream();
out = new FileOutputStream( dest );
while ( true )
{
synchronized ( buffer )
{
int amountRead = in.read( buffer );
if ( amountRead == -1 )
{
break;
}
out.write( buffer, 0, amountRead );
}
}
}
finally
{
if ( in != null )
{
in.close();
}
if ( out != null )
{
out.close();
}
}
}
public static void main(String[] args) throws IOException {
args=new String[2];
args[0]="jar:file:/C:/test.jar!/a.txt";
args[1]="c:/test.txt";
CopyFile.FormJar(args[0], args[1]);

}

}

6. mvn 怎么加载pom文件的jar

这个是maven的东西了,mvn是maven的指令来的。
现在最新的eclipse有内嵌maven管理工具了。你要新建maven的工程,不是普通的java工程。
然后再pom文件中,写上你要的jar,maven就会帮你到jar的中心仓库去下载对应的jar包,然后自动加载到工程中。

如果需要下载jar包,网络搜索一下 “manyjar”关键字,有一个jar包下载的网站,有大量的jar可以下载,推荐使用,有助你学习.

7. 如何利用maven的pom文件导入jar包是从哪导入的

maven工程中添加jar有两种方式添。
第一:
通过【Dependencies】,可视化界面操作点击Dependencies标签页。点击【add】按钮 输入我们想添加的jar包名字进行搜索.就会出现下图中所示。他会把对应名称的所有版本jar包列出来. 选择对应jar包,点击【OK】按钮确认添加。

第二:通过pom.xml源码方式添加,标签<dependency></dependency>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
</dependencies>

8. 如何配置maven pom文件来解决jar包冲突

maven3在解决依赖冲突采用就近原则,在就近原则不能做出判断的情况下依据pom.xml的声明的先后顺序决定导入的jar。

jar包冲突多为传递性依赖的管理不当给项目带来的麻烦解决思路罗列如下:

1、首先查看当前项目的jar关系如果使用eclipse、idea等编辑器可打开pom.xml文档底部有Dependency Hierarchy可供查看jar的依赖情况。第二种使用maven插件的方式使用命令行:

mvndependency:tree

结果中重要的是两个部分,首先是Used undeclared dependencies意值项目中使用到的,但是没有显示声明的依赖。这种依赖意味着潜在的风险。他是通过其他直接依赖导入的传递性依赖,当直接依赖升级时相关依赖的版本也会变化。可能导致当前项目报错,且不易察觉。另一个部分是Unused declared dependencies意指项目中未使用的,但显式声明的依赖。需要注意的是我们不应该直接删除了事而是应该仔细分析。因为这个命令行发现不了执行测试和运行时需要的依赖。

以上方法都可可完整的查看当前项目的jar情况,个人更喜欢使用命令行。

2、通过以上方法我们可以看到项目中引用jar版本号;接下来就是如何排除掉我们不想要版本的jar;语法如下:

<dependency>
<groupId>.....</grooupId>
<artifactId>....</artifactId>
<version>...</version>
<exclusions>
<exclusion>
<groupId>.....</groupId>
<artifactId>.....</artifactId>
</exclusion>
</exclesions>
<dependency>
<!--exclusions可包含一个或多个exclusion元素-->

3、一下规避jar冲突的思路,如果项目中有直接用到某个jar而这个jar已通过传递依赖的方式引入到maven项目里了。最好排除这个传递依赖在pom里面明确的声明这个依赖。归类依赖,不断的优化依赖如,去除多余的依赖。

阅读全文

与jar命令读取pom内容相关的资料

热点内容
自助编程软件app 浏览:436
服务器如何看日活数 浏览:684
数控车床原理图及编程 浏览:287
java文件流下载 浏览:336
编程工作工资多少 浏览:437
专业安全文件夹 浏览:777
表格里的根号算法怎么打 浏览:193
javacorepdf 浏览:573
pdf转换word编辑 浏览:446
35岁程序员实习期恐慌 浏览:701
如何做一个系统u盘文件夹名字 浏览:970
如何确认哪个ip重启了服务器 浏览:132
照片压缩软件绿色版 浏览:109
pgp基于什么体系加密 浏览:637
python合法赋值语句格式 浏览:715
程序员数学线性代数 浏览:624
看帧率app如何使用 浏览:525
从DHC服务器租用IP地址 浏览:477
编译怎么学 浏览:333
数码管显示0到9plc编程 浏览:667