将jar包添加到lib中,并添加到classpath

编程技术  /  houtizong 发布于 3年前   57
在插件制作中,我们经常需要将一些第二方jar包添加到lib中,并加到类路径中去。(其他文件移动也可参考)
工具类:
import java.io.IOException;import java.io.InputStream;import java.util.List;import org.eclipse.core.resources.IFile;import org.eclipse.core.resources.IFolder;import org.eclipse.core.resources.IProject;import org.eclipse.core.resources.IProjectDescription;import org.eclipse.core.runtime.CoreException;import org.eclipse.core.runtime.FileLocator;import org.eclipse.core.runtime.IPath;import org.eclipse.core.runtime.IProgressMonitor;import org.eclipse.core.runtime.Path;import org.eclipse.wst.common.componentcore.ComponentCore;import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;import org.osgi.framework.Bundle;import com.cvicse.inforsuite.studio.core.Activator;/** * StudioCoreUtil工具类. *  * @author huang_wei *  */public class StudioCoreUtil {        /** * 返回Project应用目录指定目录的位置. *  * @param pj *            project应用项目 * @param folder *            目录名称 * @return 目录的位置 */public static IFolder getWebDir(final IProject pj, String folder) {final IVirtualComponent vc = ComponentCore.createComponent(pj);final IVirtualFolder vf = vc.getRootFolder().getFolder(folder);return (IFolder) vf.getUnderlyingFolder();}/** * 复制资源到工作空间指定的路径中. *  * @param src *            插件中资源的路径 * @param dest *            工作空间中指定路径 */public static void copyFromPlugin(final IPath src, final IFile dest)throws CoreException{try {final Bundle bundle = Activator.getDefault().getBundle();final InputStream in = FileLocator.openStream(bundle, src, false);if(!dest.exists()){dest.create(in, true, null);}} catch (IOException e) {throw new CoreException(Activator.createErrorStatus(e.getMessage(),e));}}/** * 将list中的jar包复制到WEB-INF/lib下 *  * @param pj *            Studio Web应用项目 * @param list *            包含jar包的list          * @param folderName *            目录名称 */public static void addJarToLib(final IProject pj,IProgressMonitor monitor,final List<String> list,final String folderName){final IFolder webInfLib = StudioCoreUtil.getWebDir(pj, "WEB-INF/lib");try{//复制jar包for(String jar : list){StudioCoreUtil.copyFromPlugin(new Path(folderName+jar),                    webInfLib.getFile(jar));monitor.worked(1);}}catch(CoreException e){Activator.log(e);}}}

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客