我正在研究将现有的OSGI/blueprint项目从Maven迁移到Gradle。在Maven中,Maven bundle插件会扫描上下文XML文件,以查找代码中可能不会出现的导入,但是我无法将其与Gradle OSGI插件一起使用。
例如,蓝图XML包含这样的导入
<reference id="exampleService" availability="mandatory" interface="com.adamish.test.Test" />
使用POM中的Bundle-Blueprint
指令与maven-bundle-plugin...
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.4.0</version>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-Blueprint>OSGI-INF/blueprint/context.xml</Bundle-Blueprint>
</instructions>
</configuration>
</plugin>
然后生成MANFEST。MF将包含这样的导入
Import-Package: com.adamish.test
但是,使用以下build.gradle文件不会为com.adamish.test生成包含导入包的MANIFEST. MF
apply plugin: 'osgi'
jar {
manifest {
instruction 'Bundle-Blueprint', 'OSGI-INF/blueprint/context.xml'
}
}
Maven和Gradle都使用BND,它似乎包含Bundle Blueprint指令,但是当通过Gradle调用时,它不会导致将导入添加到清单中。
我在Gradle 2.4和现在最新的2.10中测试过这个
maven bundle插件的蓝图解析功能由maven bundle插件的BlueprintPlugin类提供,而不是BND。BND确实包含一些支持蓝图的代码,但这是repoindex命令工具的一部分。
通过手动解析XML文件并构建Java包列表,我暂时解决了这个问题
def importPackages = new LinkedHashSet<String>();
fileTree(dir: 'src/main/resources/OSGI-INF/blueprint/', include: '*.xml').each {
new XmlSlurper().parse(it).'**'.findAll { it.@availability == "mandatory" }.each {
def iFace = it.@interface.text()
importPackages.add(iFace.substring(0, iFace.lastIndexOf('.')))
}
}
importPackages.add('com.adamish.foo')
jar {
manifest {
instruction 'Import-Package', importPackages.join(',')
}
}
我应该在属性文件中添加什么以便它包括。模块文件?
我正在使用sonar maven插件触发java代码分析。 声纳转轮卡住了一个java文件处理。控制台上的最后一条消息读取JavaAST扫描和进程卡在... SonarQube版本:7.3.0 Sonar maven插件版本:3.6。0.1398(最新版本),但已尝试使用3.4。1.1168也是如此 日志如下所示: OOM异常堆栈跟踪: 几个小时后,它会抛出内存不足异常 顺便说一下,这个代表了po
问题内容: 我正在玩Scanner类,以进行学习,并且我使用它来读取非常大的文件(大约60.000行,大约不使用Reader类),并且在大约400行后停止读取。我是否必须在Scanner的构造函数中使用Bufferedreader还是问题?我想知道为什么会这样。谢谢。我的代码是输出所有行的常用代码。 问题答案: 此问题通常在64位计算机上或文件大小大于1-2 GB的文件中更常见,并且与堆空间无关。
我很难将这样的东西解析成数组。 所以我的文本文件test.txt有这样一行:(1231212A,1231212B)(1231212C,321128D) 我试图把它扫描成一个数组,但它需要分成几个部分 int类型的part1应为:123 第二部分:12 第3部分:12 第四部分(字符):A 我需要在这条线上做4次 这是我的代码,但它不能正常工作 当我打印这些数组时,它们不会打印正确的数字和字符。我需
我正在尝试将文件的内容放入数组中。文件内容是正整数和负整数。 这就是我所做的,以确定我应该使数组多大。inFile是我的扫描仪。我能够打印inFile的内容,但它们不会进入数组。我只得到空值。 这就是我试图将文件内容放入数组所做的。 谢谢你的帮助。
我需要在一种方法中将文件名作为扫描仪的输入,并在所有其他方法中将该扫描仪用作其余代码的文件路径的引用。 我正在学习文件I/o,对于这个项目,我应该以文件名作为输入,计算文件中的行数,并将每行放入一个数组中。 我的问题出现在FileUtils期间。countRecords方法。在FileUtils中返回文件类型后。打开输入文件(openInputFile),然后将数据放入扫描仪(代码中的变量inf和