This is an automated email from the ASF dual-hosted git repository. jbonofre pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/karaf-decanter.git
The following commit(s) were added to refs/heads/master by this push: new 9bd38dd [KARAF-6835] Remove process collector new f64b861 Merge pull request #190 from jbonofre/KARAF-6835 9bd38dd is described below commit 9bd38dda9fb7cbf87d0d89ef0f4398e2010aa5de Author: jbonofre <jbono...@apache.org> AuthorDate: Wed Sep 2 10:00:39 2020 +0200 [KARAF-6835] Remove process collector --- assembly/src/main/feature/feature.xml | 12 - collector/pom.xml | 1 - collector/process/NOTICE | 57 ----- collector/process/pom.xml | 103 -------- ...apache.karaf.decanter.collector.process-jmx.cfg | 40 ---- .../decanter/collector/process/BeanHarvester.java | 115 --------- .../collector/process/JmxProcessCollector.java | 163 ------------- pom.xml | 1 - tools-jar-wrapper/NOTICE | 57 ----- tools-jar-wrapper/pom.xml | 259 --------------------- 10 files changed, 808 deletions(-) diff --git a/assembly/src/main/feature/feature.xml b/assembly/src/main/feature/feature.xml index c70b91b..75fb633 100644 --- a/assembly/src/main/feature/feature.xml +++ b/assembly/src/main/feature/feature.xml @@ -178,18 +178,6 @@ org.apache.felix.eventadmin.IgnoreTimeout=org.apache.karaf.decanter. <bundle>mvn:org.apache.karaf.decanter.collector/org.apache.karaf.decanter.collector.socket/${project.version}</bundle> </feature> - <feature name="decanter-collector-process-core" version="${project.version}" description="Karaf Decanter JMX Process Collector core"> - <feature>decanter-common</feature> - <feature>scheduler</feature> - <bundle>mvn:org.apache.karaf.decanter/tools-jar-wrapper/${project.version}</bundle> - <bundle>mvn:org.apache.karaf.decanter.collector/org.apache.karaf.decanter.collector.process/${project.version}</bundle> - </feature> - - <feature name="decanter-collector-process" version="${project.version}" description="Karaf Decanter JMX Process Collector"> - <configfile finalname="/etc/org.apache.karaf.decanter.collector.process-jmx.cfg">mvn:org.apache.karaf.decanter.collector/org.apache.karaf.decanter.collector.process/${project.version}/cfg/process</configfile> - <feature>decanter-collector-process-core</feature> - </feature> - <feature name="decanter-collector-mqtt" version="${project.version}" description="Karaf Decanter MQTT Collector"> <feature>decanter-common</feature> <bundle dependency="true">mvn:org.eclipse.paho/org.eclipse.paho.client.mqttv3/${paho.version}</bundle> diff --git a/collector/pom.xml b/collector/pom.xml index 57de4f2..dbecfb1 100644 --- a/collector/pom.xml +++ b/collector/pom.xml @@ -49,7 +49,6 @@ <module>log4j-socket</module> <module>mqtt</module> <module>oshi</module> - <!-- <module>process</module> --> <module>redis</module> <module>rest</module> <module>rest-servlet</module> diff --git a/collector/process/NOTICE b/collector/process/NOTICE deleted file mode 100644 index 4e4af9e..0000000 --- a/collector/process/NOTICE +++ /dev/null @@ -1,57 +0,0 @@ -Apache Karaf Decanter -Copyright 2015-2019 The Apache Software Foundation - -I. Included Software - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). -Licensed under the Apache License 2.0. - -This product includes software developed at -Elastic (https://www.elastic.co/). -Licensed under the Apache License 2.0. - -This product includes software developed at -OrientDB (http://orientdb.com). -Licensed under the Apache License 2.0. - -II. Used Software - -This product uses software developed at -The OSGi Alliance (http://www.osgi.org/). -Copyright (c) OSGi Alliance (2000, 2010). -Licensed under the Apache License 2.0. - -This product uses software developed at -OPS4J (http://www.ops4j.org/). -Licensed under the Apache License 2.0. - -This product uses software developed at -SLF4J (http://www.slf4j.org/). -Licensed under the MIT License. - -This product uses software developed at -JUnit (http://www.junit.org/). -Licensed under the Eclipse Public License 1.0. - -This product uses software developed at -Redis (http://www.redis.io). -Licensed under the BSD license. - -This product uses software developed at -Dropwizard (http://www.dropwizard.io). -Licensed under the Apache License 2.0. - -This product uses software developed at -searchbox.io (https://github.com/searchbox-io) -Licensed under the Apache License 2.0. - -This product uses software developed at -MongoDB (https://www.mongodb.com/) -Licensed under the Apache License 2.0. - -III. License Summary -- Apache License 2.0 -- MIT License -- Eclipse Public License 1.0 -- BSD License diff --git a/collector/process/pom.xml b/collector/process/pom.xml deleted file mode 100644 index 5c76eaf..0000000 --- a/collector/process/pom.xml +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - - <!-- Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with this - work for additional information regarding copyright ownership. The ASF licenses - this file to You under the Apache License, Version 2.0 (the "License"); you - may not use this file except in compliance with the License. You may obtain - a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless - required by applicable law or agreed to in writing, software distributed - under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES - OR CONDITIONS OF ANY KIND, either express or implied. See the License for - the specific language governing permissions and limitations under the License. --> - - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.apache.karaf.decanter</groupId> - <artifactId>collector</artifactId> - <version>2.6.0-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <groupId>org.apache.karaf.decanter.collector</groupId> - <artifactId>org.apache.karaf.decanter.collector.process</artifactId> - <packaging>bundle</packaging> - <name>Apache Karaf :: Decanter :: Collector :: Process</name> - - <dependencies> - <dependency> - <groupId>org.apache.karaf.decanter.collector</groupId> - <artifactId>org.apache.karaf.decanter.collector.utils</artifactId> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <inherited>true</inherited> - <extensions>true</extensions> - <configuration> - <obrRepository>NONE</obrRepository> - <instructions> - <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> - <Export-Package>!*</Export-Package> - <Import-Package> - * - </Import-Package> - <Private-Package> - org.apache.karaf.decanter.collector.process, - org.apache.karaf.decanter.collector.utils - </Private-Package> - <_dsannotations>*</_dsannotations> - </instructions> - </configuration> - </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>build-helper-maven-plugin</artifactId> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>attach-artifact</goal> - </goals> - <configuration> - <artifacts> - <artifact> - <file>src/main/cfg/org.apache.karaf.decanter.collector.process-jmx.cfg</file> - <type>cfg</type> - <classifier>process</classifier> - </artifact> - </artifacts> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - - <profiles> - <profile> - <id>default-tools.jar</id> - <activation> - <property> - <name>java.vendor</name> - <value>Oracle Corporation</value> - </property> - </activation> - <dependencies> - <dependency> - <groupId>com.sun</groupId> - <artifactId>tools</artifactId> - <version>1.8.0</version> - <scope>system</scope> - <systemPath>${java.home}/../lib/tools.jar</systemPath> - </dependency> - </dependencies> - </profile> - </profiles> -</project> diff --git a/collector/process/src/main/cfg/org.apache.karaf.decanter.collector.process-jmx.cfg b/collector/process/src/main/cfg/org.apache.karaf.decanter.collector.process-jmx.cfg deleted file mode 100644 index 47c3137..0000000 --- a/collector/process/src/main/cfg/org.apache.karaf.decanter.collector.process-jmx.cfg +++ /dev/null @@ -1,40 +0,0 @@ -################################################################################ -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -################################################################################ - -# -# Decanter Local Process JMX collector configuration -# - -# Name/type of the JMX collection -type=process-jmx - -# URL of the JMX MBeanServer. -# local keyword means the local platform MBeanServer or you can specify to full JMX URL -# like service:jmx:rmi:///jndi/rmi://hostname:port/karaf-instance -process=test.Test - -# Object name filter to use. Instead of harvesting all MBeans, you can select only -# some MBeans matching the object name filter -object.name=org.apache.activemq:* - -# You can add any custom field that the collector will "forward" to the dispatcher -# For instance: -# -# my=stuff -# diff --git a/collector/process/src/main/java/org/apache/karaf/decanter/collector/process/BeanHarvester.java b/collector/process/src/main/java/org/apache/karaf/decanter/collector/process/BeanHarvester.java deleted file mode 100644 index f0bbb8e..0000000 --- a/collector/process/src/main/java/org/apache/karaf/decanter/collector/process/BeanHarvester.java +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.karaf.decanter.collector.process; - -import java.net.UnknownHostException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; - -import javax.management.MBeanAttributeInfo; -import javax.management.MBeanServerConnection; -import javax.management.ObjectName; -import javax.management.openmbean.CompositeData; -import javax.management.openmbean.CompositeDataSupport; -import javax.management.openmbean.CompositeType; -import javax.management.openmbean.TabularData; -import javax.management.openmbean.TabularDataSupport; -import javax.management.openmbean.TabularType; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -class BeanHarvester { - private final static Logger LOGGER = LoggerFactory.getLogger(BeanHarvester.class); - private MBeanServerConnection connection; - private String type; - - BeanHarvester(MBeanServerConnection connection, String type) throws UnknownHostException { - this.connection = connection; - this.type = type; - } - - Map<String, Object> harvestBean(ObjectName name) throws Exception { - MBeanAttributeInfo[] attributes = connection.getMBeanInfo(name).getAttributes(); - Map<String, Object> data = new HashMap<>(); - data.put("type", type); - data.put("ObjectName", name.toString()); - - for (MBeanAttributeInfo attribute : attributes) { - try { - Object attributeObject = connection.getAttribute(name, attribute.getName()); - if (attributeObject instanceof String) { - data.put(attribute.getName(), (String) attributeObject); - } else if (attributeObject instanceof ObjectName) { - data.put(attribute.getName(), ((ObjectName) attributeObject).toString()); - } else if (attributeObject instanceof CompositeDataSupport || attributeObject instanceof CompositeData) { - CompositeData cds = (CompositeData) attributeObject; - CompositeType compositeType = cds.getCompositeType(); - Set<String> keySet = compositeType.keySet(); - Map<String, Object> composite = new HashMap<String, Object>(); - for (String key : keySet) { - Object cdsObject = cds.get(key); - composite.put(key, cdsObject); - } - data.put(attribute.getName(), composite); - } else if (attributeObject instanceof Long - || attributeObject instanceof Integer - || attributeObject instanceof Boolean - || attributeObject instanceof Float - || attributeObject instanceof Double) { - data.put(attribute.getName(), attributeObject); - } else if (attributeObject instanceof TabularDataSupport || attributeObject instanceof TabularData) { - TabularData tds = (TabularData) attributeObject; - TabularType tabularType = tds.getTabularType(); - CompositeType compositeType = tabularType.getRowType(); - Collection<?> values = tds.values(); - ArrayList<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); - for (Object value : values) { - CompositeDataSupport cds = (CompositeDataSupport) value; - Set<String> keySet = compositeType.keySet(); - Map<String, Object> composite = new HashMap<String, Object>(); - list.add(composite); - for (String key : keySet) { - Object cdsObject = cds.get(key); - composite.put(key, cdsObject); - } - } - data.put(attribute.getName(), list); - } else if (attributeObject instanceof Object[]) { - data.put(attribute.getName(), (Object[]) attributeObject); - } else if (attributeObject instanceof long[]) { - data.put(attribute.getName(), (long[]) attributeObject); - } else if (attributeObject instanceof String[]) { - data.put(attribute.getName(), (String[]) attributeObject); - } else if (attributeObject instanceof int[]) { - data.put(attribute.getName(), (int[]) attributeObject); - } else { - data.put(attribute.getName(), attributeObject.toString()); - } - } catch (SecurityException se) { - LOGGER.error("SecurityException: ", se); - } catch (Exception e) { - LOGGER.debug("Could not read attribute " + name.toString() + " " + attribute.getName()); - } - - } - return data; - } -} diff --git a/collector/process/src/main/java/org/apache/karaf/decanter/collector/process/JmxProcessCollector.java b/collector/process/src/main/java/org/apache/karaf/decanter/collector/process/JmxProcessCollector.java deleted file mode 100644 index 8b82693..0000000 --- a/collector/process/src/main/java/org/apache/karaf/decanter/collector/process/JmxProcessCollector.java +++ /dev/null @@ -1,163 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.karaf.decanter.collector.process; - -import java.io.File; -import java.util.Dictionary; -import java.util.Hashtable; -import java.util.Map; -import java.util.Set; - -import javax.management.MBeanServerConnection; -import javax.management.MalformedObjectNameException; -import javax.management.ObjectName; -import javax.management.remote.JMXConnector; -import javax.management.remote.JMXConnectorFactory; -import javax.management.remote.JMXServiceURL; - -import org.apache.karaf.decanter.collector.utils.PropertiesPreparator; -import org.osgi.service.component.ComponentContext; -import org.osgi.service.component.annotations.Component; -import org.osgi.service.component.annotations.Reference; -import org.osgi.service.event.Event; -import org.osgi.service.event.EventAdmin; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.sun.tools.attach.VirtualMachine; -import com.sun.tools.attach.VirtualMachineDescriptor; - -/** - * Decanter JMX Local Process Pooling Collector - */ -@Component( - name = "org.apache.karaf.decanter.collector.process", - immediate = true, - property = {"decanter.collector.name=process", - "scheduler.period:Long=60", - "scheduler.concurrent:Boolean=false", - "scheduler.name=decanter-collector-process"} -) -public class JmxProcessCollector implements Runnable { - - @Reference - public EventAdmin dispatcher; - - private final static Logger LOGGER = LoggerFactory.getLogger(JmxProcessCollector.class); - - private String type; - private String process; - private String objectName; - - private Dictionary<String, Object> properties; - - @SuppressWarnings("unchecked") - public void activate(ComponentContext context) { - properties = context.getProperties(); - String type = getProperty(properties, "type", "process-jmx"); - String process = getProperty(properties, "process", null); - String objectName = getProperty(properties, "object.name", null); - Dictionary<String, String> serviceProperties = new Hashtable<String, String>(); - serviceProperties.put("decanter.collector.name", type); - this.type = type; - this.process = process; - this.objectName = objectName; - } - - private String getProperty(Dictionary<String, Object> properties, String key, String defaultValue) { - return (properties.get(key) != null) ? (String) properties.get(key) : defaultValue; - } - - @Override - public void run() { - LOGGER.debug("Karaf Decanter JMX Local Process Collector starts harvesting {}...", type); - - JMXConnector connector = null; - MBeanServerConnection connection = null; - - String host = null; - if (process == null) { - LOGGER.error("Can't connect to MBeanServer on local process, as not declared"); - return; - } else { - try { - for (final VirtualMachineDescriptor descriptor : VirtualMachine.list()) { - if (descriptor.displayName().contains(process)) { - VirtualMachine vm = VirtualMachine.attach(descriptor.id()); - String connectorAddr = vm.getAgentProperties() - .getProperty("com.sun.management.jmxremote.localConnectorAddress"); - if (connectorAddr == null) { - String agent = vm.getSystemProperties().getProperty("java.home") + File.separator + "lib" - + File.separator + "management-agent.jar"; - vm.loadAgent(agent); - connectorAddr = vm.getAgentProperties() - .getProperty("com.sun.management.jmxremote.localConnectorAddress"); - } - JMXServiceURL serviceURL = new JMXServiceURL(connectorAddr); - connector = JMXConnectorFactory.connect(serviceURL); - connection = connector.getMBeanServerConnection(); - } - } - - } catch (Exception e) { - LOGGER.error("Can't connect to given Process {}", process); - } - } - - if (connection == null) { - LOGGER.debug("MBean connection is null, nothing to do"); - return; - } - - try { - String karafName = System.getProperty("karaf.name"); - BeanHarvester harvester = new BeanHarvester(connection, type); - Set<ObjectName> names = connection.queryNames(getObjectName(objectName), null); - for (ObjectName name : names) { - try { - Map<String, Object> data = harvester.harvestBean(name); - - PropertiesPreparator.prepare(data, properties); - - Event event = new Event("decanter/collect/jmx/" + type + "/" + getTopic(name), data); - dispatcher.postEvent(event); - } catch (Exception e) { - LOGGER.warn("Can't read MBean {} ({})", name, type, e); - } - } - } catch (Exception e) { - LOGGER.warn("Can't query object name from {} ({}) {}", process, type, objectName); - } - - try { - connector.close(); - } catch (Exception e) { - LOGGER.trace("Can't close JMX connector", e); - } - - LOGGER.debug("Karaf Decanter JMX Local Process Collector harvesting {} done", type); - } - - private ObjectName getObjectName(String objectName) throws MalformedObjectNameException { - return objectName == null ? null : new ObjectName(objectName); - } - - private String getTopic(ObjectName name) { - return name.getDomain().replace(".", "/").replace(" ", "_"); - } - -} diff --git a/pom.xml b/pom.xml index 12bb26a..24d51e3 100644 --- a/pom.xml +++ b/pom.xml @@ -59,7 +59,6 @@ <module>marshaller</module> <module>parser</module> <module>alerting</module> - <module>tools-jar-wrapper</module> <module>manual</module> <module>assembly</module> </modules> diff --git a/tools-jar-wrapper/NOTICE b/tools-jar-wrapper/NOTICE deleted file mode 100644 index 4e4af9e..0000000 --- a/tools-jar-wrapper/NOTICE +++ /dev/null @@ -1,57 +0,0 @@ -Apache Karaf Decanter -Copyright 2015-2019 The Apache Software Foundation - -I. Included Software - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). -Licensed under the Apache License 2.0. - -This product includes software developed at -Elastic (https://www.elastic.co/). -Licensed under the Apache License 2.0. - -This product includes software developed at -OrientDB (http://orientdb.com). -Licensed under the Apache License 2.0. - -II. Used Software - -This product uses software developed at -The OSGi Alliance (http://www.osgi.org/). -Copyright (c) OSGi Alliance (2000, 2010). -Licensed under the Apache License 2.0. - -This product uses software developed at -OPS4J (http://www.ops4j.org/). -Licensed under the Apache License 2.0. - -This product uses software developed at -SLF4J (http://www.slf4j.org/). -Licensed under the MIT License. - -This product uses software developed at -JUnit (http://www.junit.org/). -Licensed under the Eclipse Public License 1.0. - -This product uses software developed at -Redis (http://www.redis.io). -Licensed under the BSD license. - -This product uses software developed at -Dropwizard (http://www.dropwizard.io). -Licensed under the Apache License 2.0. - -This product uses software developed at -searchbox.io (https://github.com/searchbox-io) -Licensed under the Apache License 2.0. - -This product uses software developed at -MongoDB (https://www.mongodb.com/) -Licensed under the Apache License 2.0. - -III. License Summary -- Apache License 2.0 -- MIT License -- Eclipse Public License 1.0 -- BSD License diff --git a/tools-jar-wrapper/pom.xml b/tools-jar-wrapper/pom.xml deleted file mode 100644 index 73a36cb..0000000 --- a/tools-jar-wrapper/pom.xml +++ /dev/null @@ -1,259 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - - <!-- - - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> - - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.apache.karaf</groupId> - <artifactId>decanter</artifactId> - <version>2.6.0-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <groupId>org.apache.karaf.decanter</groupId> - <artifactId>tools-jar-wrapper</artifactId> - <packaging>bundle</packaging> - - <name>Apache Karaf :: Decanter :: Tools Jar Wrapper</name> - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <extensions>true</extensions> - <configuration> - <obrRepository>NONE</obrRepository> - <instructions> - <Export-Package> - com.sun.codemodel.internal;version="0.0.0", - com.sun.codemodel.internal.fmt;version="0.0.0", - com.sun.codemodel.internal.util;version="0.0.0", - com.sun.codemodel.internal.writer;version="0.0.0", - com.sun.istack.internal.tools;version="0.0.0", - com.sun.jarsigner;version="0.0.0", - com.sun.javadoc;version="0.0.0", - com.sun.jdi;version="0.0.0", - com.sun.jdi.connect;version="0.0.0", - com.sun.jdi.connect.spi;version="0.0.0", - com.sun.jdi.event;version="0.0.0", - com.sun.jdi.request;version="0.0.0", - com.sun.source.doctree;version="0.0.0", - com.sun.source.tree;version="0.0.0", - com.sun.source.util;version="0.0.0", - com.sun.tools.attach;version="0.0.0", - com.sun.tools.attach.spi;version="0.0.0", - com.sun.tools.classfile;version="0.0.0", - com.sun.tools.corba.se.idl;version="0.0.0", - com.sun.tools.corba.se.idl.constExpr;version="0.0.0", - com.sun.tools.corba.se.idl.som.cff;version="0.0.0", - com.sun.tools.corba.se.idl.som.idlemit;version="0.0.0", - com.sun.tools.corba.se.idl.toJavaPortable;version="0.0.0", - com.sun.tools.doclets;version="0.0.0", - com.sun.tools.doclets.formats.html;version="0.0.0", - com.sun.tools.doclets.formats.html.markup;version="0.0.0", - com.sun.tools.doclets.formats.html.resources;version="0.0.0", - com.sun.tools.doclets.internal.toolkit;version="0.0.0", - com.sun.tools.doclets.internal.toolkit.builders;version="0.0.0", - com.sun.tools.doclets.internal.toolkit.resources;version="0.0.0", - com.sun.tools.doclets.internal.toolkit.taglets;version="0.0.0", - com.sun.tools.doclets.internal.toolkit.util;version="0.0.0", - com.sun.tools.doclets.internal.toolkit.util.links;version="0.0.0", - com.sun.tools.doclets.standard;version="0.0.0", - com.sun.tools.doclint;version="0.0.0", - com.sun.tools.doclint.resources;version="0.0.0", - com.sun.tools.example.debug.expr;version="0.0.0", - com.sun.tools.example.debug.tty;version="0.0.0", - com.sun.tools.extcheck;version="0.0.0", - com.sun.tools.hat;version="0.0.0", - com.sun.tools.hat.internal.model;version="0.0.0", - com.sun.tools.hat.internal.oql;version="0.0.0", - com.sun.tools.hat.internal.parser;version="0.0.0", - com.sun.tools.hat.internal.server;version="0.0.0", - com.sun.tools.hat.internal.util;version="0.0.0", - com.sun.tools.hat.resources;version="0.0.0", - com.sun.tools.internal.jxc;version="0.0.0", - com.sun.tools.internal.jxc.ap;version="0.0.0", - com.sun.tools.internal.jxc.api;version="0.0.0", - com.sun.tools.internal.jxc.api.impl.j2s;version="0.0.0", - com.sun.tools.internal.jxc.gen.config;version="0.0.0", - com.sun.tools.internal.jxc.model.nav;version="0.0.0", - com.sun.tools.internal.ws;version="0.0.0", - com.sun.tools.internal.ws.api;version="0.0.0", - com.sun.tools.internal.ws.api.wsdl;version="0.0.0", - com.sun.tools.internal.ws.processor;version="0.0.0", - com.sun.tools.internal.ws.processor.generator;version="0.0.0", - com.sun.tools.internal.ws.processor.model;version="0.0.0", - com.sun.tools.internal.ws.processor.model.exporter;version="0.0.0", - com.sun.tools.internal.ws.processor.model.java;version="0.0.0", - com.sun.tools.internal.ws.processor.model.jaxb;version="0.0.0", - com.sun.tools.internal.ws.processor.modeler;version="0.0.0", - com.sun.tools.internal.ws.processor.modeler.annotation;version="0.0.0", - com.sun.tools.internal.ws.processor.modeler.wsdl;version="0.0.0", - com.sun.tools.internal.ws.processor.util;version="0.0.0", - com.sun.tools.internal.ws.resources;version="0.0.0", - com.sun.tools.internal.ws.spi;version="0.0.0", - com.sun.tools.internal.ws.util;version="0.0.0", - com.sun.tools.internal.ws.util.xml;version="0.0.0", - com.sun.tools.internal.ws.wscompile;version="0.0.0", - com.sun.tools.internal.ws.wscompile.plugin.at_generated;version="0.0.0", - com.sun.tools.internal.ws.wsdl.document;version="0.0.0", - com.sun.tools.internal.ws.wsdl.document.http;version="0.0.0", - com.sun.tools.internal.ws.wsdl.document.jaxws;version="0.0.0", - com.sun.tools.internal.ws.wsdl.document.mime;version="0.0.0", - com.sun.tools.internal.ws.wsdl.document.schema;version="0.0.0", - com.sun.tools.internal.ws.wsdl.document.soap;version="0.0.0", - com.sun.tools.internal.ws.wsdl.framework;version="0.0.0", - com.sun.tools.internal.ws.wsdl.parser;version="0.0.0", - com.sun.tools.internal.xjc;version="0.0.0", - com.sun.tools.internal.xjc.addon.accessors;version="0.0.0", - com.sun.tools.internal.xjc.addon.at_generated;version="0.0.0", - com.sun.tools.internal.xjc.addon.code_injector;version="0.0.0", - com.sun.tools.internal.xjc.addon.episode;version="0.0.0", - com.sun.tools.internal.xjc.addon.locator;version="0.0.0", - com.sun.tools.internal.xjc.addon.sync;version="0.0.0", - com.sun.tools.internal.xjc.api;version="0.0.0", - com.sun.tools.internal.xjc.api.impl.s2j;version="0.0.0", - com.sun.tools.internal.xjc.api.util;version="0.0.0", - com.sun.tools.internal.xjc.generator.annotation.spec;version="0.0.0", - com.sun.tools.internal.xjc.generator.bean;version="0.0.0", - com.sun.tools.internal.xjc.generator.bean.field;version="0.0.0", - com.sun.tools.internal.xjc.generator.util;version="0.0.0", - com.sun.tools.internal.xjc.model;version="0.0.0", - com.sun.tools.internal.xjc.model.nav;version="0.0.0", - com.sun.tools.internal.xjc.outline;version="0.0.0", - com.sun.tools.internal.xjc.reader;version="0.0.0", - com.sun.tools.internal.xjc.reader.dtd;version="0.0.0", - com.sun.tools.internal.xjc.reader.dtd.bindinfo;version="0.0.0", - com.sun.tools.internal.xjc.reader.gbind;version="0.0.0", - com.sun.tools.internal.xjc.reader.internalizer;version="0.0.0", - com.sun.tools.internal.xjc.reader.relaxng;version="0.0.0", - com.sun.tools.internal.xjc.reader.xmlschema;version="0.0.0", - com.sun.tools.internal.xjc.reader.xmlschema.bindinfo;version="0.0.0", - com.sun.tools.internal.xjc.reader.xmlschema.ct;version="0.0.0", - com.sun.tools.internal.xjc.reader.xmlschema.parser;version="0.0.0", - com.sun.tools.internal.xjc.runtime;version="0.0.0", - com.sun.tools.internal.xjc.util;version="0.0.0", - com.sun.tools.internal.xjc.writer;version="0.0.0", - com.sun.tools.javac;version="0.0.0", - com.sun.tools.javac.api;version="0.0.0", - com.sun.tools.javac.code;version="0.0.0", - com.sun.tools.javac.comp;version="0.0.0", - com.sun.tools.javac.file;version="0.0.0", - com.sun.tools.javac.jvm;version="0.0.0", - com.sun.tools.javac.main;version="0.0.0", - com.sun.tools.javac.model;version="0.0.0", - com.sun.tools.javac.nio;version="0.0.0", - com.sun.tools.javac.parser;version="0.0.0", - com.sun.tools.javac.processing;version="0.0.0", - com.sun.tools.javac.resources;version="0.0.0", - com.sun.tools.javac.services;version="0.0.0", - com.sun.tools.javac.sym;version="0.0.0", - com.sun.tools.javac.tree;version="0.0.0", - com.sun.tools.javac.util;version="0.0.0", - com.sun.tools.javadoc;version="0.0.0", - com.sun.tools.javadoc.api;version="0.0.0", - com.sun.tools.javadoc.resources;version="0.0.0", - com.sun.tools.javah;version="0.0.0", - com.sun.tools.javah.resources;version="0.0.0", - com.sun.tools.javap;version="0.0.0", - com.sun.tools.javap.resources;version="0.0.0", - com.sun.tools.jdeps;version="0.0.0", - com.sun.tools.jdeps.resources;version="0.0.0", - com.sun.tools.jdi;version="0.0.0", - com.sun.tools.jdi.resources;version="0.0.0", - com.sun.tools.script.shell;version="0.0.0", - com.sun.xml.internal.dtdparser;version="0.0.0", - com.sun.xml.internal.dtdparser.resources;version="0.0.0", - com.sun.xml.internal.rngom.ast.builder;version="0.0.0", - com.sun.xml.internal.rngom.ast.om;version="0.0.0", - com.sun.xml.internal.rngom.ast.util;version="0.0.0", - com.sun.xml.internal.rngom.binary;version="0.0.0", - com.sun.xml.internal.rngom.binary.visitor;version="0.0.0", - com.sun.xml.internal.rngom.digested;version="0.0.0", - com.sun.xml.internal.rngom.dt;version="0.0.0", - com.sun.xml.internal.rngom.dt.builtin;version="0.0.0", - com.sun.xml.internal.rngom.nc;version="0.0.0", - com.sun.xml.internal.rngom.parse;version="0.0.0", - com.sun.xml.internal.rngom.parse.compact;version="0.0.0", - com.sun.xml.internal.rngom.parse.host;version="0.0.0", - com.sun.xml.internal.rngom.parse.xml;version="0.0.0", - com.sun.xml.internal.rngom.util;version="0.0.0", - com.sun.xml.internal.rngom.xml.sax;version="0.0.0", - com.sun.xml.internal.rngom.xml.util;version="0.0.0", - com.sun.xml.internal.xsom;version="0.0.0", - com.sun.xml.internal.xsom.impl;version="0.0.0", - com.sun.xml.internal.xsom.impl.parser;version="0.0.0", - com.sun.xml.internal.xsom.impl.parser.state;version="0.0.0", - com.sun.xml.internal.xsom.impl.scd;version="0.0.0", - com.sun.xml.internal.xsom.impl.util;version="0.0.0", - com.sun.xml.internal.xsom.parser;version="0.0.0", - com.sun.xml.internal.xsom.util;version="0.0.0", - com.sun.xml.internal.xsom.visitor;version="0.0.0", - org.relaxng.datatype;version="0.0.0", - org.relaxng.datatype.helpers;version="0.0.0", - sun.applet;version="0.0.0", - sun.applet.resources;version="0.0.0", - sun.jvmstat.monitor;version="0.0.0", - sun.jvmstat.monitor.event;version="0.0.0", - sun.jvmstat.monitor.remote;version="0.0.0", - sun.jvmstat.perfdata.monitor;version="0.0.0", - sun.jvmstat.perfdata.monitor.protocol.file;version="0.0.0", - sun.jvmstat.perfdata.monitor.protocol.local;version="0.0.0", - sun.jvmstat.perfdata.monitor.protocol.rmi;version="0.0.0", - sun.jvmstat.perfdata.monitor.v1_0;version="0.0.0", - sun.jvmstat.perfdata.monitor.v2_0;version="0.0.0", - sun.jvmstat.perfdata.resources;version="0.0.0", - sun.rmi.rmic;version="0.0.0", - sun.rmi.rmic.iiop;version="0.0.0", - sun.rmi.rmic.newrmic;version="0.0.0", - sun.rmi.rmic.newrmic.jrmp;version="0.0.0", - sun.rmi.rmic.resources;version="0.0.0", - sun.security.tools.jarsigner;version="0.0.0", - sun.tools.asm;version="0.0.0", - sun.tools.attach;version="0.0.0", - sun.tools.jar;version="0.0.0", - sun.tools.jar.resources;version="0.0.0", - sun.tools.java;version="0.0.0", - sun.tools.javac;version="0.0.0", - sun.tools.javac.resources;version="0.0.0", - sun.tools.jcmd;version="0.0.0", - sun.tools.jinfo;version="0.0.0", - sun.tools.jmap;version="0.0.0", - sun.tools.jps;version="0.0.0", - sun.tools.jstack;version="0.0.0", - sun.tools.jstat;version="0.0.0", - sun.tools.jstat.resources;version="0.0.0", - sun.tools.jstatd;version="0.0.0", - sun.tools.native2ascii;version="0.0.0", - sun.tools.native2ascii.resources;version="0.0.0", - sun.tools.serialver;version="0.0.0", - sun.tools.serialver.resources;version="0.0.0", - sun.tools.tree;version="0.0.0", - sun.tools.util;version="0.0.0" - </Export-Package> - <Bundle-ClassPath>external:$java.home$/../lib/tools.jar</Bundle-ClassPath> - </instructions> - </configuration> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file