我记得jar调用jar是需要在manifest.mf中进行class-path属性的设置,不知道xml是不是也需要类似的设置。
解决方案 »
- 类似QQ斗地主的游戏需要什么知识?
- 怎么样知道自己的JAVA基础不错了。
- core java&thinging in java!!!
- 怎样实现数据输出打印
- Swing的灵活性——微调UI实现CheckBoxList
- load ENOEXEC on shared library(s)的原因及解决方法,急!!!!
- 请问如何在表格中实现不能选中某行呢??
- 请问Hashtable是个什么类啊?
- 新手jdk配置问题
- 在MS上下载了SQL2000的JDBC的SETUP.EXE以后,双击没反映,应该怎么安装它呢?????
- 怎么样的java开发工具适合初学者?
- JBuilder自带的数据库是什么数据库,我怎样才能运行它,并且创建新表呢?
以下例子我做了测试。a、文件路径如下:
f:\java\testjar.java
f:\java\MANIFEST.MF
f:\java\citi\sonnet.xml1、源文件
//:testjar.java
package citi;
import java.io.*;
public class testjar{
public static void main(String[] args){
try{
BufferedReader in;
String str;
//由于文件sonnet.xml要打入包中,故文件应该在包路径“citi”中
//使用时,需要使用相对路径来引用,如下面的".\\citi\\sonnet.xml"
in = new BufferedReader(new FileReader(".\\citi\\sonnet.xml"));
while((str = in.readLine())!= null){
System.out.println(str);
}
in.close();
}catch(Exception e){e.printStackTrace();}
}
}2、文件sonnet.xml内容
<?xml version="1.0"?>
<sonnet type="Shakespearean">
<author>tsc</author>
</sonnet>3、文件MANIFEST.MF内容
Manifest-Version: 1.0
Main-Class: citi.testjar
Created-By: tangshancheng4、操作步骤实例F:\java>javac testjar.java -d .F:\java>jar cvfm my.jar manifest.mf citi
标明清单(manifest)
增加:citi/(读入= 0) (写出= 0)(存储了 0%)
增加:citi/testjar.class(读入= 707) (写出= 464)(压缩了 34%)
增加:citi/sonnet.dtd(读入= 1165) (写出= 361)(压缩了 69%)
增加:citi/sonnet.xml(读入= 91) (写出= 80)(压缩了 12%)F:\java>java -jar my.jar
<?xml version="1.0"?>
<sonnet type="Shakespearean">
<author>tsc</author>
</sonnet>
或者
ClassLoader.getSystemResource("citi/sonnet.xml")