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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? eclipseclasspath.java

?? 一個(gè)查找java程序里bug的程序的源代碼,該程序本身也是java寫的,對提高java編程水平很有用
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
				pluginId = attributes.getValue("Bundle-SymbolicName");				if (pluginId == null)					throw new EclipseClasspathException("Missing Bundle-SymbolicName in " + manifestFileName);				pluginId = stripSemiPart(pluginId);				// Get the plugin version				pluginVersion = attributes.getValue("Bundle-Version");				if (pluginVersion == null)					throw new EclipseClasspathException("Missing Bundle-Version in " + manifestFileName);				// Get required plugins				String required = attributes.getValue("Require-Bundle");				if (required != null) {					StringTokenizer tok = new StringTokenizer(required, ",");					while (tok.hasMoreTokens()) {						String requiredPlugin = tok.nextToken();						requiredPlugin = requiredPlugin.trim();						requiredPlugin = stripSemiPart(requiredPlugin);						//System.out.println("Required plugin=" +requiredPlugin);						requiredPluginIdList.add(requiredPlugin);					}				}				// Get exported libraries				String exported = attributes.getValue("Bundle-ClassPath");				if (exported != null) {					StringTokenizer tok2 = new StringTokenizer(exported, ",");					while (tok2.hasMoreTokens()) {						String jar = tok2.nextToken();						jar = jar.trim();						jar = stripSemiPart(jar);						exportedLibraryList.add(directory + File.separator + jar);					}				}			} catch (IOException e) {				throw new EclipseClasspathException("Could not parse Eclipse 3.0 plugin in " + directory, e);			} finally {				try {					if (in != null)						in.close();				} catch (IOException e) {					// Ignore				}			}		}		private String stripSemiPart(String s) {			int semi = s.indexOf(';');			if (semi >= 0)				s = s.substring(0, semi);			return s;		}	}	private static final Pattern pluginDirPattern = Pattern.compile("^(\\w+(\\.\\w+)*)_(\\w+(\\.\\w+)*)$");	private static final int PLUGIN_ID_GROUP = 1;	private String eclipseDir;	private String rootPluginDir;	private Map<String, File> pluginDirectoryMap;	private Map<String, String> varMap;	private Plugin rootPlugin;	private List<String> importList;	public EclipseClasspath(String eclipseDir, String rootPluginDir) {		this.eclipseDir = eclipseDir;		this.rootPluginDir = rootPluginDir;		this.pluginDirectoryMap = new HashMap<String, File>();		this.varMap = new HashMap<String, String>();	}	public void addRequiredPlugin(String pluginId, String pluginDir) {		pluginDirectoryMap.put(pluginId, new File(pluginDir));	}	private static class WorkListItem {		private String directory;		private boolean isDependent;		public WorkListItem(String directory, boolean isDependent) {			this.directory = directory;			this.isDependent = isDependent;		}		public String getDirectory() { return directory; }		public boolean isDependent() { return isDependent; }	}	public EclipseClasspath execute() throws EclipseClasspathException, DocumentException, IOException {		// Build plugin directory map		File pluginDir = new File(eclipseDir, "plugins");		File[] dirList = pluginDir.listFiles(new FileFilter() {			public boolean accept(File pathname) {				return pathname.isDirectory();			}		});		if (dirList == null)			throw new EclipseClasspathException("Could not list plugins in directory " + pluginDir);		for (int i = 0; i < dirList.length; ++i) {			String dirName = dirList[i].getName();			String pluginId = getPluginId(dirName);			if (pluginId != null) {				//System.out.println(pluginId + " ==> " + dirList[i]);				pluginDirectoryMap.put(pluginId, dirList[i]);				// HACK - see if we can deduce the value of the special "ws" variable.				if (pluginId.startsWith("org.eclipse.swt.")) {					String ws = pluginId.substring("org.eclipse.swt.".length());					if (ws.equals("gtk64"))						ws = "gtk";					varMap.put("ws", new File(dirList[i] + File.separator + "ws" + File.separator + ws).getPath().replace('\\', '/'));				}			}		}		Map<String, Plugin> requiredPluginMap = new HashMap<String, Plugin>();		LinkedList<WorkListItem> workList = new LinkedList<WorkListItem>();		workList.add(new WorkListItem(rootPluginDir, false));		while (!workList.isEmpty()) {			WorkListItem item = workList.removeFirst();			Plugin plugin = new Plugin(item.getDirectory(), item.isDependent());			requiredPluginMap.put(plugin.getId(), plugin);			if (!plugin.isDependent()) {				if (rootPlugin != null) throw new IllegalStateException("multiple root plugins");				this.rootPlugin = plugin;			}			// Add unresolved required plugins to the worklist			for (Iterator<String> i = plugin.requiredPluginIdIterator(); i.hasNext(); ) {				String requiredPluginId = i.next();				if (requiredPluginMap.get(requiredPluginId) == null) {					// Find the plugin's directory					File requiredPluginDir = pluginDirectoryMap.get(requiredPluginId);					if (requiredPluginDir == null)						throw new EclipseClasspathException("Unable to find plugin " + requiredPluginId);					workList.add(new WorkListItem(requiredPluginDir.getPath(), true));				}			}		}		//System.out.println("Found " + requiredPluginMap.size() + " required plugins");		importList = new LinkedList<String>();		for (Iterator<Plugin> i = requiredPluginMap.values().iterator(); i.hasNext(); ) {			Plugin plugin = i.next();			if (plugin.isDependent()) {				for (Iterator<String> j = plugin.exportedLibraryIterator(); j.hasNext(); ) {					//System.out.println("Import: " + j.next());					importList.add(j.next());				}			}		}		return this;	}	public Iterator<String> importListIterator() {		return importList.iterator();	}	public String getClasspath() {		if (importList == null) throw new IllegalStateException("execute() has not been called");		StringBuffer buf = new StringBuffer();		boolean first = true;		Iterator <String> i = importListIterator();		while (i.hasNext()) {			if (first)				first = false;			else				buf.append(File.pathSeparator);			buf.append(i.next());		}		// Convert backslashes to forward slashes,		// since raw backslashes cause problems in .properties files.		String s = buf.toString();		s = s.replace('\\', '/');		return s;	}	public Plugin getRootPlugin() {		return rootPlugin;	}	/**	 * Get the plugin id for given directory name.	 * Returns null if the directory name does not seem to	 * be a plugin.	 */	private String getPluginId(String dirName) {		Matcher m = pluginDirPattern.matcher(dirName);		return m.matches() ? m.group(PLUGIN_ID_GROUP) : null;	}	/**	 * Expand variables of the form $varname$ in library names.	 * This is used to handle the "$ws$" substitution used to refer to	 * the plugin containing swt.jar.	 */	private String replaceSpecial(String value) {		if (!varMap.isEmpty()) {			for (Iterator<String> i = varMap.keySet().iterator(); i.hasNext(); ) {				String key = i.next();				String replace = varMap.get(key);				Pattern pat = Pattern.compile("\\$\\Q" + key + "\\E\\$");				Matcher m = pat.matcher(value);				StringBuffer buf = new StringBuffer();					while (m.find())					m.appendReplacement(buf, replace);				m.appendTail(buf);					value = buf.toString();			}		}		return value;	}	public static void main(String[] argv) throws Exception {		if (argv.length < 2 || (argv.length % 2 != 0)) {			System.err.println("Usage: " + EclipseClasspath.class.getName() +				" <eclipse dir> <root plugin directory> [<required plugin id> <required plugin dir> ...]");			System.exit(1);		}		EclipseClasspath ec = new EclipseClasspath(argv[0], argv[1]);		for (int i = 2; i < argv.length; i += 2) {			ec.addRequiredPlugin(argv[i], new File(argv[i+1]).getAbsolutePath());		}		// Generate a build.properties file which communicates to Ant:		//   - what the build classpath should be		//   - what the plugin id and version are		ec.execute();		System.out.println("plugin.build.classpath=" + ec.getClasspath());		System.out.println("plugin.id=" + ec.getRootPlugin().getId());		System.out.println("plugin.version=" + ec.getRootPlugin().getVersion());	}}// vim:ts=4

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.日韩精品| 亚洲一区二区三区四区在线观看| 欧美影视一区在线| 成人av网站在线观看| 激情综合色播激情啊| 亚洲丝袜制服诱惑| 亚洲美女精品一区| 国产精品不卡在线| 一区二区三区中文字幕| 亚洲欧洲av另类| 伊人开心综合网| 一区二区三区在线观看视频| 亚洲日本在线天堂| 亚洲一区二区三区不卡国产欧美| 亚洲人快播电影网| 亚洲大片在线观看| 三级一区在线视频先锋| 亚洲精品中文在线影院| 综合激情成人伊人| 亚洲精品精品亚洲| 日韩成人dvd| 另类专区欧美蜜桃臀第一页| 久久99精品久久只有精品| 国产精品1024| jlzzjlzz欧美大全| 色婷婷综合在线| 在线国产亚洲欧美| 欧美性色黄大片手机版| 日韩欧美国产精品| 久久精品一区二区三区四区| 成人欧美一区二区三区黑人麻豆| 亚洲视频在线观看一区| 亚洲精品乱码久久久久久久久 | 久久草av在线| 精品一二三四在线| 国产成人超碰人人澡人人澡| 91在线观看成人| 欧美日韩极品在线观看一区| 亚洲国产精品久久人人爱蜜臀| 日韩欧美久久久| 夜夜精品视频一区二区| 成人综合在线观看| 91色视频在线| 色综合久久久久| 欧美做爰猛烈大尺度电影无法无天| 欧美日韩精品欧美日韩精品一 | 日本一区二区成人| 亚洲精品成人少妇| 狠狠色综合播放一区二区| 成熟亚洲日本毛茸茸凸凹| 91久久精品日日躁夜夜躁欧美| 欧美一区二区女人| 国产精品久久久久久久久晋中 | 精品国产露脸精彩对白 | 亚洲国产精品尤物yw在线观看| 久久精品免费观看| 成人黄色小视频在线观看| 欧美久久久久免费| 国产校园另类小说区| 一区二区三区美女| 激情综合网最新| 成人av片在线观看| 91精品国模一区二区三区| 久久色.com| 亚洲国产一区视频| 午夜久久电影网| 亚洲永久免费av| 成人性生交大片免费看中文| 97成人超碰视| 久久综合久久综合久久综合| 亚洲毛片av在线| 精品一区二区三区在线观看| 在线观看区一区二| 久久亚洲综合色| 日韩精品国产精品| fc2成人免费人成在线观看播放| 精品久久一区二区| 亚洲一区二区中文在线| 久久99国产精品免费网站| 欧美三级电影在线看| 国产亚洲综合性久久久影院| 蜜臀av一区二区| 欧美在线免费观看视频| 成人免费一区二区三区在线观看| 欧美aaaaa成人免费观看视频| 国产精品综合视频| 欧美一区二区三区免费在线看| 日韩一区日韩二区| eeuss鲁片一区二区三区 | 国产人妖乱国产精品人妖| 裸体健美xxxx欧美裸体表演| 欧美午夜一区二区| 国产精品精品国产色婷婷| 国产99一区视频免费| 日韩欧美一区中文| 亚洲午夜精品17c| 一本久久a久久精品亚洲| 中文字幕中文字幕在线一区| 国产伦精一区二区三区| 欧美日韩高清影院| 香港成人在线视频| 日本伦理一区二区| 一区二区不卡在线播放 | 久久疯狂做爰流白浆xx| 欧美年轻男男videosbes| 亚洲激情欧美激情| 不卡一区二区中文字幕| 日韩色视频在线观看| 亚洲成人激情社区| 666欧美在线视频| 亚洲精品一卡二卡| 欧美日韩免费一区二区三区视频| 国产网站一区二区| 在线精品视频免费观看| 亚洲sss视频在线视频| 日韩欧美中文一区二区| 国产伦精一区二区三区| 国产精品福利av | 精品久久久久久最新网址| 亚洲欧美激情小说另类| 91在线观看污| 亚洲一区二区三区四区在线观看| 91老司机福利 在线| 亚洲一区二区欧美日韩| 色综合久久中文综合久久97| 亚洲国产视频a| 在线播放一区二区三区| 一区二区三区电影在线播| 欧美日本一道本| 首页亚洲欧美制服丝腿| 日韩精品一区二区三区老鸭窝| 日韩精品午夜视频| 久久精品欧美一区二区三区不卡| 国产乱子伦视频一区二区三区| 国产精品不卡视频| 成人18精品视频| 一区二区三区欧美日韩| 欧美久久免费观看| 国产精品一区二区久久精品爱涩| 国产亚洲精品福利| 91小视频免费观看| 亚洲一区中文日韩| 久久久久久久综合日本| av成人老司机| 免费高清不卡av| 国产午夜精品在线观看| 色狠狠av一区二区三区| 日韩制服丝袜先锋影音| 欧美一区二区三区免费在线看| 久热成人在线视频| 亚洲美女屁股眼交| 欧美一区二区三区不卡| 97精品电影院| 日韩国产在线观看一区| 国产精品视频免费| 欧美日韩一区精品| 成人综合在线网站| 婷婷成人综合网| 国产精品久久久久三级| 精品视频在线看| 国产精品18久久久久久久久 | 2021国产精品久久精品| 99视频在线精品| 激情综合五月婷婷| 亚洲欧美日韩久久精品| 亚洲精品在线电影| 91免费版pro下载短视频| 麻豆freexxxx性91精品| 最新国产精品久久精品| 欧美色图天堂网| 成人av资源在线| 一区二区三区欧美视频| 欧美国产精品中文字幕| 制服丝袜激情欧洲亚洲| 91九色最新地址| 久久成人羞羞网站| 五月综合激情日本mⅴ| 国产精品理论片| 国产调教视频一区| 91精品国产综合久久精品| 91女人视频在线观看| 全部av―极品视觉盛宴亚洲| 国产精品色眯眯| 欧美日韩视频不卡| 成人av在线电影| 狠狠色综合播放一区二区| 天堂影院一区二区| 亚洲精选在线视频| 精品伦理精品一区| 69堂国产成人免费视频| 91福利视频在线| caoporen国产精品视频| 狠狠色2019综合网| 香蕉加勒比综合久久| 日韩美女视频一区二区| 久久久99精品久久| 久久久久国产免费免费| 91啪九色porn原创视频在线观看| 国产经典欧美精品| 极品美女销魂一区二区三区免费|