亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? eclipseclasspath.java

?? 一個查找java程序里bug的程序的源代碼,該程序本身也是java寫的,對提高java編程水平很有用
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* * Generate a Java classpath from an Eclipse plugin.xml file * Copyright (C) 2004, University of Maryland *  * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. *  * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. *  * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */package edu.umd.cs.findbugs.tools.eclipse;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileFilter;import java.io.FileInputStream;import java.io.FileReader;import java.io.IOException;import java.io.Reader;import java.util.HashMap;import java.util.Iterator;import java.util.LinkedList;import java.util.List;import java.util.Map;import java.util.StringTokenizer;import java.util.jar.Attributes;import java.util.jar.Manifest;import java.util.regex.Matcher;import java.util.regex.Pattern;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.Node;import org.dom4j.io.SAXReader;/** * Starting from an Eclipse plugin, finds all required plugins * (in an Eclipse installation) and recursively finds the classpath * required to compile the original plugin.  Different Eclipse * releases will generally have different version numbers on the * plugins they contain, which makes this task slightly difficult. * * <p> Basically, this is a big complicated hack to allow compilation * of the FindBugs Eclipse plugin outside of the Eclipse workspace, * in a way that doesn't depend on any specific release of Eclipse. * * @author David Hovemeyer */public class EclipseClasspath {	public static class EclipseClasspathException extends Exception {		public EclipseClasspathException(String msg) {			super(msg);		}		public EclipseClasspathException(String msg, Throwable e) {			super(msg, e);		}	}	/**	 * A customized Reader for Eclipse plugin descriptor files.	 * The problem is that Eclipse uses invalid XML in the form of	 * directives like	 * <pre>	 * &lt;?eclipse version="3.0"?&gt;	 * </pre>	 * outside of the root element.  This Reader class	 * filters out this crap.	 */	private static class EclipseXMLReader extends Reader {		private BufferedReader reader;		private LinkedList<String> lineList;		public EclipseXMLReader(Reader reader) {			this.reader = new BufferedReader(reader);			this.lineList = new LinkedList<String>();		}		public int read(char[] cbuf, int off, int len) throws IOException {			if (!fill())				return -1;			String line = lineList.getFirst();			if (len > line.length())				len = line.length();			for (int i = 0; i < len; ++i)				cbuf[i+off] = line.charAt(i);			if (len == line.length())				lineList.removeFirst();			else				lineList.set(0, line.substring(len));			return len;		}		public void close() throws IOException {			reader.close();		}		private boolean fill() throws IOException {			if (!lineList.isEmpty())				return true;			String line;			do {				line = reader.readLine();				if (line == null)					return false;			} while (isIllegal(line));			lineList.add(line+"\n");			return true;		}		private boolean isIllegal(String line) {			return line.startsWith("<?eclipse");		}	}	private class Plugin {		private String directory;		private boolean isDependent;		private String pluginId;		private String pluginVersion;		private List<String> requiredPluginIdList;		private List<String> exportedLibraryList;		public Plugin(String directory, boolean isDependent)				throws DocumentException, EclipseClasspathException, IOException {			this.directory = directory;			this.isDependent = isDependent;			this.requiredPluginIdList = new LinkedList<String>();			this.exportedLibraryList = new LinkedList<String>();			// Figure out whether this is an old-style (Eclipse 2.1.x)			// or new-style (3.0, OSGI-based) plugin.			boolean oldStyle = false;			Document document = null;			File pluginDescriptorFile = new File(directory + File.separator + "plugin.xml");			if (pluginDescriptorFile.isFile()) {				SAXReader reader = new SAXReader();				document = reader.read(new EclipseXMLReader(new FileReader(pluginDescriptorFile)));				Node plugin = document.selectSingleNode("/plugin");				if (plugin == null)					throw new EclipseClasspathException("No plugin node in plugin descriptor");				oldStyle = !plugin.valueOf("@id").equals("");			}			// Get the plugin id			if (oldStyle) {				parseOldPluginDescriptor(directory, document, isDependent);			} else {				parseNewPluginDescriptor(directory, isDependent);			}		}		public String getDirectory() {			return directory;		}		public boolean isDependent() {			return isDependent;		}		public String getId() {			return pluginId;		}		public String getVersion() {			return pluginVersion;		}		public Iterator<String> requiredPluginIdIterator() {			return requiredPluginIdList.iterator();		}		public Iterator<String> exportedLibraryIterator() {			return exportedLibraryList.iterator();		}		private void parseOldPluginDescriptor(String directory, Document document, boolean isDependent)			throws DocumentException, EclipseClasspathException {			// In Eclipse 2.1.x, all of the information we need			// is in plugin.xml.			Node plugin = document.selectSingleNode("/plugin");			pluginId = plugin.valueOf("@id");			//System.out.println("Plugin id is " + pluginId);			pluginVersion = plugin.valueOf("@version");			if (pluginVersion.equals(""))				throw new EclipseClasspathException("Cannot determine plugin version");			// Extract required plugins			List requiredPluginNodeList = document.selectNodes("/plugin/requires/import");			for (Iterator i = requiredPluginNodeList.iterator(); i.hasNext(); ) {				Node node = (Node) i.next();				String requiredPluginId = node.valueOf("@plugin");				if (requiredPluginId.equals(""))					throw new EclipseClasspathException("Import has no plugin id");				//System.out.println(" Required plugin ==> " + requiredPluginId);				requiredPluginIdList.add(requiredPluginId);			}			// Extract exported libraries			List exportedLibraryNodeList = document.selectNodes("/plugin/runtime/library");			for (Iterator i = exportedLibraryNodeList.iterator(); i.hasNext(); ) {				Node node = (Node) i.next();				String jarName = node.valueOf("@name");				if (jarName.equals(""))					throw new EclipseClasspathException("Could not get name of exported library");				jarName = replaceSpecial(jarName);				File jarFile = new File(jarName);				if (!jarFile.isAbsolute()) {					// Make relative to plugin directory					jarFile = new File(directory, jarName);				}				exportedLibraryList.add(jarFile.getPath());			}		}		private void parseNewPluginDescriptor(String directory, boolean isDependent)			throws DocumentException, EclipseClasspathException {			// In Eclipse 3.x, we need to parse the plugin's MANIFEST.MF			BufferedInputStream in = null;			try {				String manifestFileName = directory + File.separator + "META-INF/MANIFEST.MF";				in = new BufferedInputStream(new FileInputStream(manifestFileName));				Manifest manifest = new Manifest(in);				Attributes attributes = manifest.getMainAttributes();				// Get the plugin id

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美日韩系列| 日韩一级黄色片| 在线视频国产一区| 制服丝袜一区二区三区| 91精品国产综合久久精品 | 精品一区二区三区香蕉蜜桃 | 五月婷婷激情综合| 久久精品国产99国产| 国产aⅴ综合色| 欧美在线制服丝袜| 日韩欧美你懂的| 国产亚洲精品7777| 亚洲一区二区三区美女| 国产精品99久久久久久宅男| 国产精品大尺度| 亚洲免费三区一区二区| 国产福利精品一区| 欧美在线视频你懂得| 26uuu成人网一区二区三区| 国产精品美女久久久久久久网站| 午夜欧美视频在线观看| 成人精品国产福利| 日韩精品一区二区三区四区视频 | 一区二区三区在线不卡| 国内精品伊人久久久久av影院 | 欧美成人精品福利| 亚洲国产成人va在线观看天堂 | 欧美国产精品一区二区三区| 亚洲成av人片在线观看无码| 丁香五精品蜜臀久久久久99网站| 欧美揉bbbbb揉bbbbb| 成人欧美一区二区三区在线播放| 蜜桃久久av一区| 91精品国产一区二区| 日韩黄色小视频| 国产精品丝袜一区| 日韩欧美中文字幕一区| 91免费精品国自产拍在线不卡| 日本不卡一区二区| 亚洲欧美国产三级| 777欧美精品| 国产91高潮流白浆在线麻豆| 国产精品进线69影院| 欧美日本在线播放| 亚洲福利电影网| 99精品欧美一区| 久久福利资源站| 亚洲一区在线电影| 亚洲精品一区二区三区蜜桃下载 | 久久精品综合网| 蜜臀久久99精品久久久久宅男| 国产精品自产自拍| 中文字幕av资源一区| 夜夜夜精品看看| 亚洲一区在线看| 亚洲福利一二三区| 成人高清在线视频| 欧美精品在欧美一区二区少妇| 久久精品亚洲麻豆av一区二区| 亚洲综合偷拍欧美一区色| 国产精品白丝jk白祙喷水网站| 在线观看免费视频综合| 久久精品一区二区三区四区| 视频一区中文字幕| 99久久免费国产| 国产sm精品调教视频网站| 色狠狠色噜噜噜综合网| 精品一区二区成人精品| 久久精品亚洲麻豆av一区二区| 日韩一区国产二区欧美三区| 精品久久久久久综合日本欧美 | 欧美电影免费观看高清完整版在线 | 欧美日本一区二区三区四区| 一本在线高清不卡dvd| www.亚洲免费av| 欧美又粗又大又爽| 91精品免费观看| 国产肉丝袜一区二区| 欧美一区二区三区色| 精品盗摄一区二区三区| 亚洲综合在线第一页| 日韩电影免费在线看| 99精品国产视频| 亚洲国产精品二十页| www.在线成人| 国产精品美女久久久久久久久| 久久99精品一区二区三区三区| 国产在线日韩欧美| 人禽交欧美网站| 日韩在线一二三区| 亚洲精品水蜜桃| 麻豆国产精品777777在线| 精品一区中文字幕| 国产女人18毛片水真多成人如厕| 精品污污网站免费看| 欧美做爰猛烈大尺度电影无法无天| 国产激情一区二区三区桃花岛亚洲| 欧美在线免费视屏| 中文字幕免费观看一区| 日本在线不卡视频| 日本韩国一区二区三区| 亚洲美女屁股眼交3| 老司机精品视频线观看86| 欧美优质美女网站| 国产精品久久久爽爽爽麻豆色哟哟| 蜜桃久久精品一区二区| 欧美中文字幕一区| 最新不卡av在线| 国产成人av福利| 2021久久国产精品不只是精品 | 国产精品成人一区二区艾草| 美女免费视频一区二区| 欧美日本在线视频| 亚洲美女一区二区三区| 成人激情免费视频| 精品国产麻豆免费人成网站| 天天做天天摸天天爽国产一区| 色妞www精品视频| 国产精品美女久久久久aⅴ| 国产精品一区二区在线看| 日韩一级黄色片| 日本一区中文字幕| 欧美日韩国产片| 亚洲图片欧美一区| 欧美在线制服丝袜| 亚洲专区一二三| 日本丶国产丶欧美色综合| 日韩毛片视频在线看| av一本久道久久综合久久鬼色| 国产色产综合产在线视频| 国产一区二区三区视频在线播放| 精品久久久久久久久久久院品网 | 久久99精品一区二区三区三区| 欧美一区二区视频免费观看| 午夜伦理一区二区| 欧美日韩高清不卡| 全部av―极品视觉盛宴亚洲| 7777精品久久久大香线蕉| 午夜精品一区二区三区三上悠亚| 欧美少妇bbb| 亚洲福利电影网| 69久久夜色精品国产69蝌蚪网| 婷婷综合另类小说色区| 日韩一卡二卡三卡四卡| 久久不见久久见中文字幕免费| 日韩精品中文字幕一区| 国产麻豆精品视频| 亚洲国产精品传媒在线观看| 91在线一区二区三区| 亚洲精品免费一二三区| 欧美亚洲尤物久久| 免费看欧美女人艹b| 久久久综合激的五月天| 国产999精品久久久久久| **性色生活片久久毛片| 欧美日韩精品一区二区| 日韩精品一卡二卡三卡四卡无卡| 欧美刺激脚交jootjob| 国产成人一区在线| 尤物在线观看一区| 日韩欧美国产麻豆| 成人精品一区二区三区中文字幕| 亚洲女厕所小便bbb| 91超碰这里只有精品国产| 韩国三级中文字幕hd久久精品| 国产欧美日韩久久| 在线国产亚洲欧美| 久久国产精品72免费观看| 国产精品免费av| 欧美日韩国产综合草草| 国内精品视频666| 亚洲人成7777| 日韩精品一区二区三区三区免费| 成人精品免费看| 午夜精品一区二区三区免费视频| www国产成人免费观看视频 深夜成人网| 丰满岳乱妇一区二区三区| 亚洲尤物视频在线| 久久久久88色偷偷免费| 欧美午夜一区二区三区免费大片| 972aa.com艺术欧美| 美女诱惑一区二区| 亚洲色图另类专区| 日韩欧美你懂的| 91成人免费在线| 国产91精品一区二区麻豆网站| 亚洲一区二区三区四区的| 国产亚洲精品精华液| 91精品国产综合久久精品图片| 波多野洁衣一区| 久久精品国产澳门| 亚洲一区二区偷拍精品| 中文字幕av一区二区三区高| 日韩亚洲欧美高清| 欧美在线观看一区二区| 99热精品一区二区| 国产黑丝在线一区二区三区| 日韩高清不卡一区二区三区| 亚洲免费观看高清完整版在线 | 亚洲色欲色欲www|