Java加载jar包:给你任意路径的一个jar包,用Java程序加载该jar包,并引用jar包里类的方法?
在网上搜这个问题,全是一样的答案,如下:importjava.io.File;importjava.net.URLClassLoader;importjava.util....
在网上搜这个问题,全是一样的答案,如下:
import java.io.File;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.List;
import DC.Utility.Configuration;
public class ClassLoad
{
static URLClassLoader loader = null;
/**
* * 在默认的目录加载jar
* *
* @return
*
*/
public static URLClassLoader getClassLoad() {
Configuration config = new Configuration(Configuration.getRoot()+File.separator
+ "classpath.properties");
if (loader == null) {
URLClassLoaderUtil urlClass = new URLClassLoaderUtil(config
.getValue("classpath1"), false);
loader = urlClass.getClassLoader();
}
return loader;
}
/**
* * 在给定的路径加载jar文件
* *
* @param url
* 指定路径
* *
* @param isFile
* true 文件 false 目录
* *
* @return
*
*/
public static URLClassLoader getClassLoad(String url, boolean isFile)
{
URLClassLoaderUtil urlClass = new URLClassLoaderUtil(url, false);
URLClassLoader loader = urlClass.getClassLoader();
return loader;
}
}
class URLClassLoaderUtil
{
URLClassLoader classLoader = null;// URLClassLoader类载入器
private String jarFileName;
private boolean isFile = true;
List<String> jars = new ArrayList<String>(0);
/**
* * 加载具体的某一jar包
* *
* *
* @param jarFileName
*
*/
public URLClassLoaderUtil(String jarFileName)
{
this.setJarFileName(jarFileName);
this.inti();
}
/**
* * 加载jar包 当isFile为false是加载文件夹下所有jar
* *
* *
* @param jarFileName
* * 路径
* *
* @param isFile
*
*/
public URLClassLoaderUtil(String jarFileName, boolean isFile)
{
this.setJarFileName(jarFileName);
this.setFile(isFile);
this.inti();
}
/**
*
* *初始化,读取文件信息,并将jar文件路径加入到classpath
*
*/
private void inti() {
// 添加jar文件路径到classpath
if (this.isFile)
{
File f = new File(jarFileName);
addPath(f.toURI().toString());
jars.add(f.getAbsolutePath());
}
else
{
ReadJarFile df = new ReadJarFile(jarFileName, new String[] { "jar", "zip" });
this.jars = df.getFiles();
List<String> jarURLs = df.getFilesURL();
Object[] o = jarURLs.toArray();
addPath(o);
}
}
可是在引入包的时候,这一行
import DC.Utility.Configuration;
一直报错。不知道这个类是如何引入的? 展开
import java.io.File;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.List;
import DC.Utility.Configuration;
public class ClassLoad
{
static URLClassLoader loader = null;
/**
* * 在默认的目录加载jar
* *
* @return
*
*/
public static URLClassLoader getClassLoad() {
Configuration config = new Configuration(Configuration.getRoot()+File.separator
+ "classpath.properties");
if (loader == null) {
URLClassLoaderUtil urlClass = new URLClassLoaderUtil(config
.getValue("classpath1"), false);
loader = urlClass.getClassLoader();
}
return loader;
}
/**
* * 在给定的路径加载jar文件
* *
* @param url
* 指定路径
* *
* @param isFile
* true 文件 false 目录
* *
* @return
*
*/
public static URLClassLoader getClassLoad(String url, boolean isFile)
{
URLClassLoaderUtil urlClass = new URLClassLoaderUtil(url, false);
URLClassLoader loader = urlClass.getClassLoader();
return loader;
}
}
class URLClassLoaderUtil
{
URLClassLoader classLoader = null;// URLClassLoader类载入器
private String jarFileName;
private boolean isFile = true;
List<String> jars = new ArrayList<String>(0);
/**
* * 加载具体的某一jar包
* *
* *
* @param jarFileName
*
*/
public URLClassLoaderUtil(String jarFileName)
{
this.setJarFileName(jarFileName);
this.inti();
}
/**
* * 加载jar包 当isFile为false是加载文件夹下所有jar
* *
* *
* @param jarFileName
* * 路径
* *
* @param isFile
*
*/
public URLClassLoaderUtil(String jarFileName, boolean isFile)
{
this.setJarFileName(jarFileName);
this.setFile(isFile);
this.inti();
}
/**
*
* *初始化,读取文件信息,并将jar文件路径加入到classpath
*
*/
private void inti() {
// 添加jar文件路径到classpath
if (this.isFile)
{
File f = new File(jarFileName);
addPath(f.toURI().toString());
jars.add(f.getAbsolutePath());
}
else
{
ReadJarFile df = new ReadJarFile(jarFileName, new String[] { "jar", "zip" });
this.jars = df.getFiles();
List<String> jarURLs = df.getFilesURL();
Object[] o = jarURLs.toArray();
addPath(o);
}
}
可是在引入包的时候,这一行
import DC.Utility.Configuration;
一直报错。不知道这个类是如何引入的? 展开
2个回答
展开全部
实体类 User
JSP页面
<form action="">
<input type="checkbox" id="n1" name="names" value="a"/>
<input type="checkbox" id="n2" name="names" value="b"/>
<input type="checkbox" id="n3" name="names" value="c"/>
<input type="checkbox" id="n4" name="names" value="d"/>
</form>
JAVA文件
String[] names = this.getRequest().getParameterValues("names");
User user = new User();
user.setNames(names);
JSP页面
<form action="">
<input type="checkbox" id="n1" name="names" value="a"/>
<input type="checkbox" id="n2" name="names" value="b"/>
<input type="checkbox" id="n3" name="names" value="c"/>
<input type="checkbox" id="n4" name="names" value="d"/>
</form>
JAVA文件
String[] names = this.getRequest().getParameterValues("names");
User user = new User();
user.setNames(names);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询