- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关于使用代码进行 bundle 编译
package ihtika2.mainform;
import com.google.code.ihtika.Vars.Ini;
import ihtika2.mainform.service.MainFormInterface;
import java.util.HashSet;
import java.util.Hashtable;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.framework.InvalidSyntaxException;
import org.osgi.framework.ServiceReference;
import org.osgi.framework.wiring.FrameworkWiring;
public class Activator implements BundleActivator {
@Override
public void start(BundleContext context) throws Exception {
Hashtable<String, String> props = new Hashtable<String, String>();
props.put("Funct", "MainForm");
context.registerService(MainFormInterface.class.getName(), new MainForm(), props);
ServiceReference[] refs = context.getServiceReferences(
MainFormInterface.class.getName(), "(Funct=MainForm)");
if (refs == null) {
System.out.println("Not Found MainForm on start");
} else {
MainFormInterface MainForm = (MainFormInterface) context.getService(refs[0]);
MainForm.sendContext(context);
MainForm.showWindow();
}
int x = 0;
for (Bundle qqq : context.getBundles()) {
if (x < 1) {
HashSet<Bundle> bundles;
bundles = new HashSet<Bundle>();
bundles.add(qqq);
HashSet<Bundle> depends = (HashSet<Bundle>) context.getBundle(0).adapt(FrameworkWiring.class).getDependencyClosure(bundles);
System.out.println("---");
System.out.println(qqq.getSymbolicName());
System.out.println("+++");
for (Bundle depends1 : depends) {
System.out.println(depends1.getSymbolicName());
}
}
x++;
}
我收到错误
cd C:\Art\Dropbox\OpenSource\MyGIT\ihtika\Sources\Bundles\I_MainForm; JAVA_HOME=C:\\Java\\jdk1.7.0_06 "\"C:\\Program Files\\NetBeans Dev 201208160001\\java\\maven\\bin\\mvn.bat\"" clean install
Scanning for projects...
------------------------------------------------------------------------
Building I_MainForm OSGi Bundle 1.0-SNAPSHOT
------------------------------------------------------------------------
[clean:clean]
Deleting C:\Art\Dropbox\OpenSource\MyGIT\ihtika\Sources\Bundles\I_MainForm\target
[resources:resources]
[debug] execute contextualize
Using 'UTF-8' encoding to copy filtered resources.
Copying 1 resource
[compiler:compile]
Compiling 5 source files to C:\Art\Dropbox\OpenSource\MyGIT\ihtika\Sources\Bundles\I_MainForm\target\classes
-------------------------------------------------------------
COMPILATION ERROR :
-------------------------------------------------------------
ihtika2/mainform/Activator.java:[38,109] error: cannot find symbol
1 error
-------------------------------------------------------------
------------------------------------------------------------------------
BUILD FAILURE
------------------------------------------------------------------------
Total time: 1.886s
Finished at: Tue Aug 21 12:21:25 MSK 2012
Final Memory: 10M/25M
------------------------------------------------------------------------
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project I_MainForm: Compilation failure
\Art\Dropbox\OpenSource\MyGIT\ihtika\Sources\Bundles\I_MainForm\src\main\java\ihtika2\mainform\Activator.java:[38,109] error: cannot find symbol
-> [Help 1]
To see the full stack trace of the errors, re-run Maven with the -e switch.
Re-run Maven using the -X switch to enable full debug logging.
For more information about the errors and possible solutions, please read the following articles:
[Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
请告诉我,如何编译这段代码?我使用apache-maven-2.2.1,jdk1.7.0_06,编译1.6代码(在NetBeans项目中设置)。有趣的是 - NetBeans 不会在此字符串 (Activator.java:[38,109]) 上显示错误,并认为此代码是正确的。
最佳答案
您需要使用 osgi.core 4.3 或更高版本。 FrameworkWiring 类型是在 osgi.core 4.3 中引入的。 http://mvnrepository.com/artifact/org.osgi/org.osgi.core/4.3.0
Apache Felix 4.0 添加了对 osgi.core 4.3 的支持。 http://www.infoq.com/news/2011/09/felix-400
关于java - 在 context.getBundle(0).adapt(FrameworkWiring.class).getDependencyClosure(bundles) 上使用 Maven 编译包时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12050837/
我正在尝试获取每个 bundle 的依赖项。在此SO post建议我使用FrameworkWiring.getDependencyClosure,但我无法理解如何初始化类,FrameworkWirin
关于使用代码进行 bundle 编译 package ihtika2.mainform; import com.google.code.ihtika.Vars.Ini; import ihti
我是一名优秀的程序员,十分优秀!