小编Cod*_*Med的帖子

Eclipse将无法启动,因为`reload maven项目遇到了问题

当我尝试在CentOS 7中启动Eclipse Luna时,我得到以下对话框:

我怎样才能解决这个问题并开始使用eclipse?

eclipse linux centos m2eclipse maven

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

/ oauth/authorize和/ oauth/token如何在Spring OAuth中进行交互?

我正在对Spring OAuth进行深入研究,我发现了一些相互矛盾的信息.有人可以澄清一下吗?

具体来说,本教程指出/oauth/token端点在向客户端应用程序授予刷新令牌之前处理用户名和密码.相比之下,春OAuth的开发手册中提到的/oauth/authorize/oauth/token终点,但仍没有得到具体的关于他们如何工作.

是否/oauth/authorize做了100%的username/password/nOtherFactors检查,然后将信号/oauth/token端点发送一个刷新令牌给客户,让客户端将发送更新凭证到/oauth/token终点?

或者全部是由/oauth/token端点处理的?

之间的关系是/oauth/authorize/oauth/token不同的对不同类型的补助?怎么样?

spring oauth oauth-2.0 spring-security-oauth2 spring-oauth2

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

使用logback和slf4j记录hibernate参数值

我使用hibernate,spring mvc和eclipse.在我的eclipse控制台中,hibernate sql以下列形式显示:

Hibernate: insert into some_table (fieldname1, fieldname2, fieldname3, fieldname4)  
values (?, ?, ?, ?)
Run Code Online (Sandbox Code Playgroud)

如何让控制台打印出插入问号的值? 我承诺使用slf4j和logback来记录我的应用程序.

这是我的logback.xml:

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds">

    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
        <resetJUL>true</resetJUL>
    </contextListener>

    <!-- To enable JMX Management -->
    <jmxConfigurator/>

    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%-5level %logger{0} - %msg%n</pattern>
        </encoder>
    </appender>

    <!--<logger name="org.hibernate" level="debug"/> -->
    <logger name="mypackagename.myappname" level="debug"/>
    <logger name="org.hibernate.SQL" additivity="false" level="DEBUG" />
    <logger name="org.hibernate.type" additivity="false" level="TRACE" />

    <root level="info">
        <appender-ref ref="console"/>
    </root>
</configuration>
Run Code Online (Sandbox Code Playgroud)

java eclipse hibernate logback slf4j

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

带有eclipse的tomcat中servlet的java.lang.ClassNotFoundException

我开始使用servlets在eclipse中开发一个java web应用程序,并在我的localhost上使用tomcat服务器进行测试.我已经在tomcat中部署了应用程序,但是当我尝试在浏览器中加载目标URL时,我得到以下堆栈跟踪:

Jul 31, 2013 2:58:31 PM org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet ImageServlet as unavailable
Jul 31, 2013 2:58:31 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Allocate exception for servlet ImageServlet
java.lang.ClassNotFoundException: test.ImageServlet
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:865)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)  
Run Code Online (Sandbox Code Playgroud)

ImageServlet类非常清楚地位于我的eclipse工作区的myproject/src/test文件夹中,其中myproject是eclipse项目的名称,test是包.

web.xml位于myproject/web/WEB-INF/web.xml中,myproject.xml位于myproject/myproject.xml

web.xml的内容是:

<?xml version="1.0"?> …
Run Code Online (Sandbox Code Playgroud)

java eclipse tomcat servlets classnotfoundexception

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

java.lang.NoSuchMethodError:javax.persistence.Table.indexes()[Ljavax/persistence/Index;

我正在升级jpa,hibernate,spring和jdk以启用JPA 2.1的新功能.但是我收到以下错误:

java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;  
Run Code Online (Sandbox Code Playgroud)

我已阅读有关此内容的其他帖子,但他们无法解决我的计算机上的错误.例如,SJuan76对这篇文章的回答建议升级到jpa 2.1,但我已经将eclipse jpa项目方面设置为2.1版,我也将其包含hibernate-jpa-2.1-api在我的pom.xml中.您可以通过单击此链接阅读完整pom.xml中各种库的所有版本. 我需要在pom.xml或eclipse项目中更改以解决此错误?

注意:我可以通过将pom.xml中的hibernate版本更改回来来消除错误<hibernate.version>4.2.1.Final</hibernate.version>,但这会破坏升级的目的.改变hibernate版本的事实是否打开和关闭错误有助于我们诊断问题?

如果问题是多个罐子彼此冲突,我可以使用eclipse类型管理器禁用其中一个罐子,但我会找哪个罐子?

这是完整的堆栈跟踪:

ERROR ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [spring/business-config.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1553) ~[spring-beans-4.0.6.RELEASE.jar:4.0.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) ~[spring-beans-4.0.6.RELEASE.jar:4.0.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) ~[spring-beans-4.0.6.RELEASE.jar:4.0.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302) ~[spring-beans-4.0.6.RELEASE.jar:4.0.6.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) ~[spring-beans-4.0.6.RELEASE.jar:4.0.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298) ~[spring-beans-4.0.6.RELEASE.jar:4.0.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) ~[spring-beans-4.0.6.RELEASE.jar:4.0.6.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:973) ~[spring-context-4.0.6.RELEASE.jar:4.0.6.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:750) ~[spring-context-4.0.6.RELEASE.jar:4.0.6.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482) ~[spring-context-4.0.6.RELEASE.jar:4.0.6.RELEASE]
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389) …
Run Code Online (Sandbox Code Playgroud)

java eclipse hibernate jpa maven

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

/ api-url在Spring Boot Security中有一个空的过滤器列表

具有REST服务的Spring Boot应用程序必须允许公共访问某些服务,同时将其他服务限制为仅授权用户.当configure(WebSecurity web)方法添加到SecurityConfig类中时,如下所示,a将403 error被发送到用户的Web浏览器,并且Spring Boot日志文件会发出错误消息,指出:

/registration-form has an empty filter list  
Run Code Online (Sandbox Code Playgroud)

需要对下面的代码进行哪些具体更改才能将/registration-form服务成功提供给任何用户,包括匿名/未经身份验证的用户?

这是SecurityConfig班级:

@Configuration
@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
protected static class SecurityConfiguration extends WebSecurityConfigurerAdapter {

    @Override
    public void configure(WebSecurity webSecurity) throws Exception {
        webSecurity.ignoring().antMatchers("/registration-form");
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .formLogin()
                .and()
            .httpBasic().and()
            .authorizeRequests()
                .antMatchers("/login1").permitAll()
                .antMatchers("/login2").permitAll()
                .anyRequest().authenticated();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是完整的日志:

2016-04-07 16:42:18.548  INFO 8937 --- [nio-8001-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring FrameworkServlet 'dispatcherServlet'
2016-04-07 16:42:18.548  INFO …
Run Code Online (Sandbox Code Playgroud)

java spring spring-security spring-boot

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

eclipse maven错误:项目中所需库的归档无法读取或不是有效的ZIP文件

在使用spring web mvc的eclipse maven项目中,我在Markers选项卡中收到以下错误:

Archive for required library: 'D:/mypath/.m2/repository/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar' in project 'DocumentManager' cannot be read or is not a valid ZIP file
Run Code Online (Sandbox Code Playgroud)

我已经检查过,并且jar文件实际上存在于指示的URL中.我甚至复制了jar的备份来覆盖该位置的jar文件,但这也没有消除错误.我强迫maven更新,但没有解决问题.我也重启了eclipse没效果.

有一次,jta-1.0.1B.jar已经是jta-1.0.1B.jar.LatestUpdate,所以我将名字缩短为jta-1.0.1B.jar

在pom.xml中,错误消息的位置是第2行,其内容如下:

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
Run Code Online (Sandbox Code Playgroud)

当我从这个url手动下载jta-1.0.1B.jar时,pom.xml中的错误消失但被.java类文件中的新错误替换,表明Document类的5个方法无效.

我读了这个这个,但是我没有使用struts,我已经包含了3.3.2.ga的hibernate,而且我在pom.xml中没有一个存储库标签(无论如何甚至没有解决问题),所以我不认为这是重复的.

任何人都可以提出解决此问题的方法吗?如果我需要一个存储库标签,我该把它放在哪里?还有什么可以改变以适应它的添加?

对于任何好奇的人,我的pom.xml包含在内,以供参考,如下所示:

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <description></description>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.0.1</version>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${org.springframework.version}</version> …
Run Code Online (Sandbox Code Playgroud)

java eclipse spring hibernate maven

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

我在哪里定义`springSecurityFilterChain` bean?

当我将bean定义springSecurityFilterChain放入时web.xml,我得到一个错误,表明Tomcat 7将无法启动,因为有一个duplicate bean definition for springSecurityFilterChain.我将整个堆栈跟踪上传到文件共享站点,您可以通过单击此链接阅读该站点.但是,当我注释掉springSecurityFilterChainbean定义web.xml并尝试重新启动服务器时,我得到一条不同的错误消息,表明没有bean定义springSecurityFilterChain.您可以通过单击此链接在文件共享站点读取第二个堆栈跟踪.

那么我应该在哪里放置bean定义springSecurityFilterChain,它的语法应该是什么?

我认为问题可能是我用来测试这种方法的spring petclinic示例应用程序有自己的方式使用a clinicservice和它自己的xml配置文件来处理应用程序启动和资源管理.您可以在此链接中查看spring petclinic应用程序的完整代码.

我对petclinic应用程序所做的更改如下:

我在pom.xml中添加了以下内容:

<dependency>
  <groupId>org.springframework.security</groupId>
  <artifactId>spring-security-core</artifactId>
  <version>3.2.2.RELEASE</version>
</dependency>

<dependency>
  <groupId>org.springframework.security</groupId>
  <artifactId>spring-security-web</artifactId>
  <version>3.2.2.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.springframework.security</groupId>
  <artifactId>spring-security-config</artifactId>
  <version>3.2.2.RELEASE</version>
</dependency>  
Run Code Online (Sandbox Code Playgroud)

我在web.xml中添加了以下内容:

<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>

<filter-mapping>
  <filter-name>springSecurityFilterChain</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)

我添加了一个名为包org.springframework.security.samples.knowledgemanager.configsrc/main/javaJava Resources,然后我增加了以下两类它:

MessageSecurityWebApplicationInitializer.java:

@Order(2)
public class MessageSecurityWebApplicationInitializer extends AbstractSecurityWebApplicationInitializer {}  
Run Code Online (Sandbox Code Playgroud)

SecurityConfig.java:

@Configuration
@EnableWebMvcSecurity
public class SecurityConfig …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc spring-security

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

添加具有spring security的自定义登录控制器

使用spring petclinic示例应用程序构建的应用程序通过自定义登录表单添加了弹簧安全性.

该应用程序没有本教程建议的WebMvcConfiguration.java类.相反,它有以下几行mvc-core-config.xml:

<mvc:view-controller path="/login" view-name="login" />
Run Code Online (Sandbox Code Playgroud)

我已经完成Ctrl-H了eclipse并/login在整个工作区中完成了一个关键词搜索术语,但没有可见的控制器.我还查看了messages-jc上面教程链接中提到的示例项目,但也找不到" /login"控制器.

如何添加一个控制器,该控制器将使用标准用户名和密码执行spring身份验证,但是当我们提交"/ login"url中的登录表单时,这也允许我随后在身份验证过程中添加其他代码?

是否像添加以下内容一样简单SomeOtherController.java:

@RequestMapping(value = "/login", method = RequestMethod.GET)
public String showLoginForm(Model model) {
        //what goes here?       
    return "public/loginform";
}

@RequestMapping(value = "/login", method = RequestMethod.POST)
public String processLoginForm(HttpSession session, @ModelAttribute("user") User user,
        BindingResult result, Model model, final RedirectAttributes redirectAttributes)
{
        //what goes here?
    return "secure/main";
}
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc spring-security

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

OAuth2多重身份验证中的null客户端

Spring OAuth2多因素身份验证实现的完整代码已上载到文件共享站点,您可以通过单击此链接下载该站点.下面的说明解释了如何使用该链接在任何计算机上重新创建当前问题.提供500点赏金.


当前错误:


当用户尝试使用前一段中链接的Spring Boot OAuth2应用程序双因素身份验证进行身份验证时,将触发错误.当应用程序应该提供第二页时要求用户输入密码来确认用户的身份,该过程中会出现错误.

鉴于null客户端正在触发此错误,问题似乎是如何在Spring Boot OAuth2中连接ClientDetailsService到a Custom OAuth2RequestFactory.

整个调试日志可以在文件共享网站点击此链接上读取.日志中的完整堆栈跟踪仅包含对应用程序中实际代码的一个引用,该代码行为:

AuthorizationRequest authorizationRequest =  
oAuth2RequestFactory.createAuthorizationRequest(paramsFromRequest(request));
Run Code Online (Sandbox Code Playgroud)

调试日志中抛出的错误是:

org.springframework.security.oauth2.provider.NoSuchClientException:  
No client with requested id: null  
Run Code Online (Sandbox Code Playgroud)


错误发生时控制流量:


我创建了以下流程图,以说明@James建议实现中的多因素身份验证请求的预期流程:

在上面的流程图中,在用户名和密码视图GET/secure/two_factor_authenticated步骤之间的某个时刻抛出当前错误.

该OP的解决方案的范围仅限于FIRST PASS,其中1.)穿过/oauth/authorize端点,然后2.)通过端口返回/oauth/authorize端点TwoFactorAuthenticationController.

因此,我们只是想解决NoSuchClientException,同时也表明客户端已成功授权ROLE_TWO_FACTOR_AUTHENTICATEDPOST /secure/two_factor_authenticated.鉴于随后的步骤是锅炉板,只要用户以成功完成FIRST PASS的所有工件进入SECOND PASS,流程就可以在SECOND PASS条目中明显中断.只要我们在这里成功解决FIRST PASS,SECOND PASS就可以成为一个单独的问题. CustomOAuth2RequestFactory


相关代码EXCERPTS:


这是AuthorizationServerConfigurerAdapter …

spring spring-mvc spring-security spring-boot spring-security-oauth2

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