小编dha*_*im2的帖子

为什么Drools不能使用Java 8?

我刚刚安装了Java 8的最终版本.当我尝试使用Maven构建我的项目时,如果我使用Java 8,许多测试都会失败,但是使用Java 7会很好.我尝试通过命令行运行它,并将JAVA_HOME设置为C:\ Program Files\Java\jdk1.8.0并通过Eclipse选择jdk1.8.0作为已安装JRE中的默认JRE.两者都失败了 请注意,失败的测试都使用Drools 6(及其依赖项).

这是输出:

-------------------------------------------------------------------------------
Test set: com.local.lds.rules.LocmChiTest
-------------------------------------------------------------------------------
Tests run: 3, Failures: 0, Errors: 3, Skipped: 0, Time elapsed: 1.245 sec <<< FAILURE!
test(com.local.lds.rules.LocmChiTest)  Time elapsed: 0.001 sec  <<< ERROR!
java.lang.ExceptionInInitializerError
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
    at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:187)
    at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at mockit.internal.util.MethodReflection.invoke(MethodReflection.java:63)
    at mockit.Invocation.proceed(Invocation.java:192)
    at mockit.integration.junit4.internal.BlockJUnit4ClassRunnerDecorator.createTest(BlockJUnit4ClassRunnerDecorator.java:59)
    at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection.java:95)
    at mockit.internal.mockups.MockMethodBridge.callMock(MockMethodBridge.java:75)
    at mockit.internal.mockups.MockMethodBridge.invoke(MockMethodBridge.java:41)
    at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java)
    at org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:236)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) …
Run Code Online (Sandbox Code Playgroud)

drools surefire maven java-8

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

DAO包结构

我正在使用JDBC(没有Spring,Hibernate或其他任何东西)在Java中编写一些简单的DAO.

将实现DAO放在与其接口相同的包中还是将它们放在子包中更好?

例:

com.mycompany.myproject.dao.MyDao
com.mycompany.myproject.dao.MyDaoImpl
Run Code Online (Sandbox Code Playgroud)

要么

com.mycompany.myproject.dao.MyDao
com.mycompany.myproject.dao.impl.MyDaoImpl
Run Code Online (Sandbox Code Playgroud)

如果你建议子包结构,你会建议什么作为子包名?.impl?.SQL?.jdbc?

实际上,我不会有多个实现.我是否过度设计了这个?

java dao

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

Git:你如何打破与原始回购的关系?

我想分一个回购集团打算与原始回购破坏关系.没有任何拉动请求或任何未来的合并.新的仓库将有一个新的项目名称.我不复制源文件并从头开始一个全新的repo的唯一原因是因为我想保留提交历史记录.我该怎么做呢?

澄清:我确实使用Github.我以前没有意识到Github特有的东西.根据我的具体需求,我有一个git repo,它包含两个独立的项目(一个Scala,一个Java).这两个项目的文件已经开始相互干扰,所以我要分配repo,并在新的repo中删除Scala项目的所有文件.在原始仓库中,我将删除Java项目的所有文件.

git

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

Java监控:JMX与Servlets

在过去的几年里,我学到了很多关于JMX的知识,并为我的Web应用程序构建了一些非常漂亮的MBean.但是,我不确定我对一个非常基本的问题有一个很好的答案:

为什么在简单的HTTP servlet上使用JMX?

我当前的Web应用程序提供了冗余监视选项:我可以通过JMX等客户端访问需要通过JMX监视的数据,或者我可以通过servlet访问XML格式的相同数据.我没有看到使用一种方法而不是另一种方法的强烈理由,但servlet方法确实具有可通过简单的http客户端/ Web浏览器读取的主要优点.

我可以看到JMX如何对非Web应用程序的Java应用程序非常有用,但我认为将JMX用于Web应用程序没有任何优势.

java monitoring jmx servlets

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

使用Moneta(JavaMoney)JSR354实现自定义MonetaryAmountFormat

我真的很困惑如何MonetaryAmountFormat使用Moneta JSR-354实现自定义.

我的意图是能够解析两者1.23$3.45作为MonetaryAmounts.

这是我的单元测试:

@Test
public void testString() {
    Bid bid = new Bid("1.23");
    assertEquals(1.23, bid.getValue(), 0.0);
    System.out.println(bid);

    bid = new Bid("$3.45");
    assertEquals(3.45, bid.getValue(), 0.0);
    System.out.println(bid);
}
Run Code Online (Sandbox Code Playgroud)

这是我的班级:

public final class Bid {

    private static final CurrencyUnit USD = Monetary.getCurrency("USD");
    private MonetaryAmount bid;

    /**
     * Constructor.
     *
     * @param bidStr the bid
     */
    public Bid(String bidStr) {
        MonetaryAmountFormat format = MonetaryFormats.getAmountFormat(
                AmountFormatQueryBuilder.of(Locale.US)
                .set("pattern", "###.##")
                .build());
        if (StringUtils.isNotBlank(bidStr)) {
            bidStr = bidStr.trim();
            bidStr …
Run Code Online (Sandbox Code Playgroud)

java jsr354

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

标签 统计

java ×3

dao ×1

drools ×1

git ×1

java-8 ×1

jmx ×1

jsr354 ×1

maven ×1

monitoring ×1

servlets ×1

surefire ×1