我只在Activator.start()函数中编写了以下代码
public void start(BundleContext bundleContext) throws Exception {
Activator.context = bundleContext;
Node node = new Node() {
@Override
public Object setUserData(String arg0, Object arg1, UserDataHandler arg2) {
// TODO Auto-generated method stub
return null;
}
@Override
public void setTextContent(String arg0) throws DOMException {
// TODO Auto-generated method stub
}
@Override
public void setPrefix(String arg0) throws DOMException {
// TODO Auto-generated method stub
}
@Override
public void setNodeValue(String arg0) throws DOMException {
// TODO Auto-generated method stub
}
@Override
public Node replaceChild(Node arg0, Node arg1) throws DOMException {
// TODO Auto-generated method stub
return null;
}
@Override
public Node removeChild(Node arg0) throws DOMException {
// TODO Auto-generated method stub
return null;
}
@Override
public void normalize() {
// TODO Auto-generated method stub
System.out.println("normalize ????");
}
@Override
public String lookupPrefix(String arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public String lookupNamespaceURI(String arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean isSupported(String arg0, String arg1) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isSameNode(Node arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isEqualNode(Node arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isDefaultNamespace(String arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public Node insertBefore(Node arg0, Node arg1) throws DOMException {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean hasChildNodes() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean hasAttributes() {
// TODO Auto-generated method stub
return false;
}
@Override
public Object getUserData(String arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public String getTextContent() throws DOMException {
// TODO Auto-generated method stub
return null;
}
@Override
public Node getPreviousSibling() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getPrefix() {
// TODO Auto-generated method stub
return null;
}
@Override
public Node getParentNode() {
// TODO Auto-generated method stub
return null;
}
@Override
public Document getOwnerDocument() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getNodeValue() throws DOMException {
// TODO Auto-generated method stub
return null;
}
@Override
public short getNodeType() {
// TODO Auto-generated method stub
return 0;
}
@Override
public String getNodeName() {
// TODO Auto-generated method stub
return null;
}
@Override
public Node getNextSibling() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getNamespaceURI() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getLocalName() {
// TODO Auto-generated method stub
return null;
}
@Override
public Node getLastChild() {
// TODO Auto-generated method stub
return null;
}
@Override
public Node getFirstChild() {
// TODO Auto-generated method stub
return null;
}
@Override
public Object getFeature(String arg0, String arg1) {
// TODO Auto-generated method stub
return null;
}
@Override
public NodeList getChildNodes() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getBaseURI() {
// TODO Auto-generated method stub
return null;
}
@Override
public NamedNodeMap getAttributes() {
// TODO Auto-generated method stub
return null;
}
@Override
public short compareDocumentPosition(Node arg0) throws DOMException {
// TODO Auto-generated method stub
return 0;
}
@Override
public Node cloneNode(boolean arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public Node appendChild(Node arg0) throws DOMException {
// TODO Auto-generated method stub
return null;
}
};
node.normalize();
}
Run Code Online (Sandbox Code Playgroud)
在eclipse环境中运行时一切顺利,但是,当发布产品时,运行中的日志错误:
根异常:java.lang.NoClassDefFoundError:org/w3c/dom/Node
引起:java.lang.ClassNotFoundException:org.w3c.dom.Node
有人可以帮忙吗?
OSGi提供对系统包的访问,但默认情况下只提供java.*包,这不包括其他包,如:javax.net,javax.xml,com.sun
因此,有必要为OSGi框架指定任何此类包,以通过系统包导出它们,使其可以被导入它们的其他包访问.
为此,您需要使用捆绑包所需的其他包设置配置属性,尝试在启动OSGi框架之前将其设置为系统属性,以便在首次启动时获取此属性.
假设您使用的是OSGi 4.2,该属性将配置为:
org.osgi.framework.system.packages.extra=org.w3c.dom
Run Code Online (Sandbox Code Playgroud)
您可能需要查看Apache Felix Framework配置属性以获取更多详细信息,尽管此属性是OSGi规范的一部分,因此也应该在其他实现中可用
| 归档时间: |
|
| 查看次数: |
4540 次 |
| 最近记录: |