小编Tom*_*ere的帖子

pom xml中依赖项和插件标记之间的maven有什么区别?

我是maven工具的新手,我用Spring和Hibernate创建了一个项目,它们在pom.xml中配置为插件,但JUnit在依赖项下标记.我的问题是,作为一个插件和一个作为依赖的背后的逻辑是什么?

plugins dependencies pom.xml maven

96
推荐指数
6
解决办法
5万
查看次数

如何在eclipse中为任何jar文件附加源代码或JavaDoc,例如JavaFX?

目前我正在使用JavaFX.每当我将鼠标悬停在JavaFX的方法上时,它都会给我以下错误:

'Note: This element neither has attached source nor attached Javadoc and hence no Javadoc could be found'

我该如何解决这个问题?如何附加javadoc或源代码以便我可以看到方法的描述?

java eclipse javadoc javafx-2

78
推荐指数
4
解决办法
11万
查看次数

NoClassDefFoundError:org/slf4j/impl/StaticLoggerBinder

我正在尝试运行此处给出的示例切片示例.

下面是我的POM.xml:

<dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-api</artifactId>
            <version>2.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-core</artifactId>
            <version>2.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-jsp</artifactId>
            <version>2.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.5.2</version>
        </dependency>
Run Code Online (Sandbox Code Playgroud)

当我试图运行该示例时,抛出以下错误:

Sep 17, 2010 11:59:43 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class      org.apache.tiles.web.startup.TilesListener
java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:60)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:131)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)
at org.apache.tiles.web.startup.TilesListener.<init>(TilesListener.java:49)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

任何的想法?

我花了30分钟谷歌搜索,但找不到可能的溶剂.

请帮我...

java tiles slf4j

45
推荐指数
2
解决办法
14万
查看次数

java.lang.ClassNotFoundException:org.apache.log4j.Level

我正在尝试在swing应用程序中使用hibernate 3.5.1 final,这里是我正在使用的jar:

  • 休眠核心3.5.1决赛
  • 休眠-的EntityManager-3.5.1-决赛
  • hibernate-jpa-2.0-api-1.0.0.Final
  • 冬眠的注解-3.5.1-决赛
  • hibernate-commons-annotations-3.2.0.Final
  • dom4j的-1.6.1
  • SLF4J-API-1.6.4
  • SLF4J-log4j12-1.6.4

当我尝试运行该应用程序时,出现以下错误:

Failed to instantiate SLF4J LoggerFactory
Reported exception:
java.lang.NoClassDefFoundError: org/apache/log4j/Level
    at org.slf4j.LoggerFactory.bind(LoggerFactory.java:128)
    at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:108)
    at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:279)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:252)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:265)
    at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:165)
    at org.hibernate.ejb.Ejb3Configuration.<clinit>(Ejb3Configuration.java:127)
    at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:54)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:48)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:32)
    at com.xeno.xecamp.desktopManagement.Main.main(Main.java:16)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Level
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    ... 11 more
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Level
    at org.slf4j.LoggerFactory.bind(LoggerFactory.java:128)
    at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:108)
    at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:279)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:252)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:265)
    at …
Run Code Online (Sandbox Code Playgroud)

java hibernate log4j exception slf4j

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

如何测试枚举类型?

我目前正在尝试为一个小型库构建一组或多或少完整的单元测试.由于我们希望允许存在不同的实现,我们希望这组测试是(a)通用的,以便我们可以重用它来测试不同的实现,并且(b)尽可能完整.对于(b)部分,我想知道是否有任何最佳实践用于测试枚举类型.例如,我有一个枚举如下:

public enum Month {
    January,
    February,
    ...
    December;
}
Run Code Online (Sandbox Code Playgroud)

在这里,我想确保所有枚举类型确实存在.这甚至是必要的吗?目前我正在使用Hamcrests assertThat,如下例所示:

assertThat(Month.January, is(notNullValue()));
Run Code Online (Sandbox Code Playgroud)

缺少"January"枚举会导致编译时错误,可以通过创建缺少的枚举类型来解决.

我在这里使用Java,但我不介意你的答案是否适用于其他语言.

编辑:

由于mkato和Mark Heath都指出测试枚举可能没有必要,因为当你使用不存在的枚举类型时编译器将无法编译.但我仍然想测试这些枚举,因为我们想要构建一个单独的TCK类test.jar,它将在不同的实现上运行相同的测试.所以我的问题更像是:测试枚举类型的最佳方法是什么?

在考虑了一下后,我将上面的Hamcrest声明更改为:

assertThat(Month.valueOf("January"), is(notNullValue()));
Run Code Online (Sandbox Code Playgroud)

当1月不存在时,该声明现在抛出NPE.这种方法有什么问题吗?

enums unit-testing hamcrest

17
推荐指数
4
解决办法
8万
查看次数

在Eclipse Kepler中找不到市场

我正在使用Eclipse Kepler的新副本,但我无法找到市场.我知道它通常在"帮助"下,但它不在那里.

有没有选项让它再次可见?

Mayby很高兴知道,我正在研究Ubuntu 12.10

eclipse eclipse-marketplace eclipse-kepler

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

Spring安全和自定义AuthenticationFilter与Spring启动

我有自定义身份验证筛选器,它创建PreAuthenticatedAuthenticationToken并将其存储在安全上下文中 一切正常.这是配置:

@Configuration
@EnableWebMvcSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    private SsoAuthenticationProvider authenticationProvider;

    @Autowired
    private SsoAuthenticationFilter ssoAuthenticationFilter;

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.addFilterAfter(ssoAuthenticationFilter, SecurityContextPersistenceFilter.class);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我ssoAuthenticationFilterFilterChainProxy正确位置的一部分.平滑.

但由于ssoAuthenticationFilterFilter它得到通过引导拾起并作为过滤器.所以我的滤镜链看起来像:

  • ssoAuthenticationFilter(包含因为存在Filter)
  • filterChainProxy(spring autoconfiguration)
    • ...
    • SecurityContextPersistenceFilter
    • ssoAuthenticationFilter(包括在内http.addFilterAfter(...))
    • ...
  • 一些其他过滤器

显然我想摆脱ssoAuthenticationFilter这里的自动注册(列出的第一个).

任何提示非常感谢.

java spring spring-security spring-boot

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

在java中具有特定精度的双精度值

我正在编写一个简单的java程序.我需要从输入中获取一个字符串并将其分为两部分:1-double 2-string.然后我需要对double进行简单的计算,并以特定的精度将结果发送到输出(4).它工作正常,但输入为0时出现问题,然后它无法正常工作.

例如,对于这些输入,输出将是:

1公斤
产量:2.2046

3.1千克
产量:6.8343

但是当输入为0时,输出应为0.0000,但显示为0.0.我应该怎么做才能强制显示0.0000?

我读过关于双精度的类似帖子,他们建议类似于BigDecimal类,但在这种情况下我不能使用它们,我这样做的代码是:

line=input.nextLine();
array=line.split(" ");
value=Double.parseDouble(array[0]);
type=array[1];
value =value*2.2046;
String s = String.format("%.4f", value);
value = Double.parseDouble(s);
System.out.print(value+" kg\n");
Run Code Online (Sandbox Code Playgroud)

java double

11
推荐指数
2
解决办法
6万
查看次数

在Eclipse和Maven2中运行测试时,JUnit 4 PermGen大小溢出

我正在使用JUnit,PowerMock和Mockito进行一些单元测试.我有很多测试类注释@RunWith(PowerMockRunner.class)@PrepareForTest(SomeClassesNames)模拟最终类和200多个测试用例.

最近,当我在Eclipse或Maven2中运行我的整个测试套件时,我遇到了PermGen空间溢出的问题.当我逐个运行我的测试时,他们每个都成功.

我做了一些关于这方面的研究,但没有一个建议对我有帮助(我增加了PermGenSize和MaxPermSize).最近我发现有一个类只包含静态方法,每个方法返回用PowerMockito模拟的对象.我想知道这是否是一个好习惯,也许这是问题的根源,因为静态变量是在单元测试之间共享的?

一般来说,拥有一个带有许多返回静态模拟对象的静态方法的静态类是一个好习惯吗?

junit static permgen mockito powermock

9
推荐指数
3
解决办法
2万
查看次数

如何在我的JSF项目中使用RESTful Web服务?

由于基于URL的RESTful Web服务不是对象,因此我们无法调用它们上的方法.我有一个简单的Web服务,其中只有一个方法@GET.我看了一个截屏视频,它使用了一些javascript库来使用Web服务.但是,我如何在我的JSF项目中使用它?我甚至无法像普通的Web服务那样注入它.请帮忙.我是REST的新手.我不能在托管bean中使用它吗?

如果使用web服务的唯一方法是通过javascript,那么这里的任何人都能告诉我如何通过JQuery使用它的细节吗?

提前致谢 :)

java rest jsf

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