小编mP.*_*mP.的帖子

OSGi单元测试没有包捆绑的步骤

我已经检查了一些OSGI的测试解决方案,包括PAX,并快速浏览了Spring DM中的抽象TestCase,但它们似乎都需要一个jar来捆绑并捆绑相关的bundle.我希望找到一些没有这个中间步骤的东西.

想象一下,能够在类路径中打包包,以便包x和y组成捆绑XY,包x和z组成捆绑XZ.Bundle XZ不会"看到"包"y",但可以从包含x的XY中导入服务.如果可能,或者如果存在等效的测试用例/库,是否有任何意见?

testing osgi

4
推荐指数
1
解决办法
1222
查看次数

将Java源代码转换为C++源代码的工具

在有人向我射击之前,我知道Java到二进制编译器,我不会追随其中一个.

我也知道没有完美的工具可以毫无问题地转换所有东西.我知道缺少Java库是一个主要问题; 但是我的源代码不会使用许多Java库,除了像String和print之类的东西.我只想使用该工具来创建Java源引用的类.在字符串的情况下,我很乐意填补空白或在稍后阶段修复.我只是想让工具做无聊的位,所以我不必手动进行翻译.

在需要的类等的情况下,我将在稍后阶段手动修复它们,但是会欣赏指向某些东西的指针,这些指针至少可以完成无聊的东西.

我再次想要翻译源代码而不是编译器来生成二进制文件.基本上我想要一些Java东西并将其转换为C++,以便以后在其他项目中使用.

编辑附加说明

对不起,如果我在这个问题的前面部分不清楚.我知道Java与C++有很大的不同.我有一些Java代码,主要是处理数组和位,几乎没有对象创建.从某种意义上说,它是非常独立的,几乎没有其他类的调用.这些类似乎是转换的主要候选者; 其他的东西将不得不重写,但至少有些部分是杠杆化的.

c c++ java code-translation

4
推荐指数
1
解决办法
5万
查看次数

用于集成测试的GPL库,但不要求它进行分发

如果您只使用GPL库进行集成测试,但不要求它进行分发,那么GPL会影响整个产品吗?

  • 我的软件使用客户端库.
  • 我只需要GPL软件作为集成测试的服务器.
  • 不需要GPL软件进行测试.

使用GPL服务器有什么含义?它会感染系统的其他部分吗?

licensing gpl

3
推荐指数
1
解决办法
268
查看次数

使用OSGI,如何将参数从主机传递到嵌入式捆绑包

最后,我可能会提供一个帮助程序,以便激活器可以导入和导出有关系统的服务和其他类型的元数据.

通过参数,我指的是一般的对象,可能是通过地图.如果一个bundle在安装另一个bundle时有一个机制将参数发送到起始bundle那就太棒了.我想我可以在后一个捆绑包中包含一个服务并将其用作配置服务,但这看起来有点不太优雅.

osgi

2
推荐指数
1
解决办法
875
查看次数

OSGI:是否可以使用Import-package并添加可见性:= reexport?

我想导入一个包而不是需要捆绑包在清单中,并让所有需要前一个包的包继承导入的包.我假设可以设置可见性:reexport,但如果我有这个选项,Eclipse不会抱怨...

osgi

2
推荐指数
1
解决办法
3154
查看次数

有没有人真的使用WARN作为日志记录级别?

为错误而不仅仅为警告分配不同的级别似乎有点过分.如果一个值是错误的,那么它的错误则不然.我个人认为这种模糊决策使得代码难以理解,因为一个人不知道什么是可接受的有效输入.如果你不接受废话并抛出异常,那么hyour代码可能会更好,完全不需要警告.

有许多其他级别可以获得更多的日志记录,可能更值得他们自己的级别 - 像"配置"这样的东西.然而,最终似乎大多数框架已经解决了错误,警告,信息,调试和跟踪其变化.

那警告是如何生存的,其他级别没有?

logging

2
推荐指数
1
解决办法
714
查看次数

如何使用Guice注入包私有类

首先,我喜欢Guice所做的事情,但是我也喜欢在我的系统中公开几个类.我系统中的所有服务都是包私有,只有公共接口.如果不使用提供者,这会给Guice带来一些问题.我希望有一些替代方案可以让我提供一个策略来执行以下操作:

  1. 对于组件C
  2. 需要依赖X,Y,Z
  3. 调用此方法w/X,Y,Z来创建实例.

..再次重复所有组件.

在上面的伪代码的第2步中,Guice现在扫描@inject注释.如果这个策略可用,我可以决定id如何以通用方式查找组件的依赖项.

不幸的是,Module.bind不起作用,因为它适用于类文字.

上面的策略界面可能如下所示

interface ComponentDiscoverer {
   Set<ComponentDefinition> components();
}

interface ComponentDefinition<T> {
   List<RequiredDependency> requiredDependencies(); // similar to Guice's Key    
   <T> create( List<SatisfiedDependency> dependencies ); // factory method.
}
Run Code Online (Sandbox Code Playgroud)
  1. Guice通过调用已注册的ComponentDiscoverer来获取所有组件.
  2. 然后它调用已注册的ComponentDiscoverer.components();
  3. 对于每个ComponentDefinition.requiredDependencies()
  4. 按需调用ComponentDefinition.create

这有没有内置到Guice方式或第三方库来实现上述目标?

样品

package companyX;

public interface Service {
   void execute();
}

package companyX;

package private class ServiceImpl implements Service {

   static ServiceImpl create( Dependency dependency){
       return new ServiceImpl( dependency );
   }

   private ServiceImpl( Dependency dependency ){
   }
   void execute();
}

package companyX;

package …
Run Code Online (Sandbox Code Playgroud)

java guice

2
推荐指数
1
解决办法
2578
查看次数

即使设置了ClassWriter(COMPUTE_MAX + COMPUTE_STACK),ASM(来自ObjectWeb)也无法正确计算MaxStack

尝试加载使用ASM生成的类时,我得到了预期的ClassVerifyErrors.在进一步检查时,我可以看到jvm是正确的,并且该方法所讨论的具有无效的MAX_STACK值.奇怪的是我正在使用自动计算堆栈和最大本地选项,所以这不应该是一个问题...使用无效选项的方法非常简单,但结果是错误的字节码.

我编写了一个带有预期方法的类,并将我的asm生成的类与javac生成的类比较,字节代码匹配,唯一的错误是max stack为0,这是错误的,而javac设置的值为2.

我想避免自己计算最大堆栈/本地人.

java assembly java-bytecode-asm

1
推荐指数
1
解决办法
1358
查看次数

Apache Ftp Server(java)SFTP适用于任何人吗?

在试图让sftp工作后,我最终找到了最简单的样本,但是没有用.基本上我用main创建了一个简单的类,并从http://mina.apache.org/ftpserver/embedding-ftpserver-in-5-minutes.html复制了第二个(SFTP)示例.服务器启动没有任何例外,但没有客户端(winscp,cuteftp等)都无法连接.我完全不知道任何指针将被赞赏...我猜我错过了一些完全明显的东西.

java ftp sftp

-1
推荐指数
1
解决办法
2916
查看次数

标签 统计

java ×4

osgi ×3

assembly ×1

c ×1

c++ ×1

code-translation ×1

ftp ×1

gpl ×1

guice ×1

java-bytecode-asm ×1

licensing ×1

logging ×1

sftp ×1

testing ×1