Home php c# sql c c++ javascript python java go android git linux asp.net django .net node.js ios xcode cocoa iphone mysql tomcat mongodb bash objective-c scala visual-studio apache elasticsearch jar eclipse jquery ruby-on-rails ruby rubygems android-studio spring lua sqlite emacs ubuntu perl docker swift amazon-web-services svn html ajax xml java-ee maven intellij-idea rvm macos unix css ipad postgresql css3 json windows-server vue.js typescript oracle hibernate internet-explorer github tensorflow laravel symfony redis html5 google-app-engine nginx firefox sqlalchemy lucene erlang flask vim solr webview facebook zend-framework virtualenv nosql ide twitter safari flutter bundle phonegap centos Register | Login | Edit Tags | New Questions | 繁体 | 简体


10 questions online user: 25

0
votes
answers
8 views
+10

春天-TX:無法找到春天NamespaceHandler XML模式命名空間[http://www.springframework.org/schema/tx]

0

爲什麼我仍然得到呢?春天-TX:無法找到春天NamespaceHandler XML模式命名空間[http://www.springframework.org/schema/tx]

Exception in thread "main" org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from relative location [../beans/Character.xml] 
Offending resource: class path resource [spring/config/beanLocations.xml]; nested exception is org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/tx] 
Offending resource: class path resource [spring/beans/Character.xml] 

     at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:72) 

我讀過許多文章中針對此問題,配置爲根據他們我的XML-S。

我的問題的XML看起來像這樣:

<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:tx="http://www.springframework.org/schema/tx" 
xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/tx 
    http://www.springframework.org/schema/tx/spring-tx.xsd"> 

    <!-- Character Data Access Object --> 
    <bean id="characterDao" class="com.got.common.dao.CharacterDao" > 
    <property name="sessionFactory" ref="sessionFactory"/> 
    </bean> 

    <tx:annotation-driven/> 
    <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager"> 
    <property name="sessionFactory" ref="sessionFactory"/> 
    </bean> 
</beans> 

春-TX包括在我的pom.xml:

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-tx</artifactId> 
    <version>5.0.2.RELEASE</version> 
</dependency> 

beanLocations.xml

<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:tx="http://www.springframework.org/schema/tx" 
xmlns:aop="http://www.springframework.org/schema/aop" 
xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/aop 
    http://www.springframework.org/schema/aop/spring-aop.xsd 
    http://www.springframework.org/schema/tx 
    http://www.springframework.org/schema/tx/spring-tx.xsd"> 


     <!-- Database Configuration --> 
     <import resource="../database/DataSource.xml"/> 
     <import resource="../database/hibernate.xml"/> 

     <!-- Beans Declaration --> 
     <import resource="../beans/Character.xml"/> 

</beans> 

組裝插件

<build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-assembly-plugin</artifactId> 
     <version>3.1.0</version> 
     <executions> 
      <execution> 
      <phase>package</phase> 
      <goals> 
       <goal>single</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <descriptorRefs> 
      <descriptorRef>jar-with-dependencies</descriptorRef> 
      </descriptorRefs> 
      <archive> 
      <manifest> 
       <addClasspath>true</addClasspath> 
       <classpathPrefix>lib/</classpathPrefix> 
       <mainClass>com.got.common.App</mainClass> 
      </manifest> 
      </archive> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 

我不知道該AOP必須被包括在內,但它的存在。 這個命名空間有什麼問題?我想停止拉我的頭髮,所以請告訴我這個命名空間無法找到的原因。

+0

你證實春天-TX庫實際上是放在你的war文件? – eis

+0

另外,你的'spring/config/beanLocations.xml'中有什麼?某種嵌套定義? – eis

+0

不是,但maven-assembly-plugin應該放在那裏。 (這是一個jar文件。)我在一秒鐘內包含'beanLocations.xml'。 – ntj

沙发
0
1

的問題可能是由您的使用匯編插件,它不明白春天處理機制,並覆蓋在spring.handlers文件處理程序定義造成的。行爲在這個線程中討論:Idea to avoid that spring.handlers/spring.schemas get overwritten when merging multiple spring dependencies in a single jar

爲了避免這個問題,一個選項是使用陰影插件爲您的目的,如建議here

+0

我希望這個答案能解決我的問題,所以我假設你的解決方案可以被接受,謝謝。 – ntj

+1

[此](https://issues.apache.org/jira/browse/MASSEMBLY-360)爲約組裝插件行爲錯誤條目:有趣的部分是,它是權利2010已固定的,測試用例好。看起來似乎並沒有,因爲人們似乎仍然遇到這個問題,所以示例項目證明問題並在那裏發表評論可能會使它在彙編插件(修復程序所屬的地方)中得到修復。他們已經有一個過濾器來處理這個問題,但我想這只是無法正常工作。 – eis

+1

它的工作原理,經過幾個小時的苦難後,無法感謝你足夠的這個鏈接。 – ntj

0
votes
answers
8 views
+10

試圖重現彈簧安全OAuth2Login示例

0

我想學習一些Spring Security時不斷出現錯誤。但是我有麻煩來通過Auth2/OpenId Connect來保護我的網頁。我嘗試重現Spring Security Reference OAuth2 Client的示例。試圖重現彈簧安全OAuth2Login示例

但我已經堅持在開始運行該項目。我使用maven而不是gradle作爲構建工具。 如果我運行從例子中的測試中,我不斷收到一個例外,它說的是,應用程序上下文無法加載

nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.security.oauth2.client.registration.ClientRegistrationRepository' available: expected at least 1 bean which qualifies as autowire candidate. 

完整的異常

java.lang.IllegalStateException: Failed to load ApplicationContext 
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124) ~[spring-test-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:83) ~[spring-test-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:189) ~[spring-test-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:131) ~[spring-test-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:230) ~[spring-test-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:228) [spring-test-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:287) [spring-test-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) [junit-4.12.jar:4.12] 
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:289) [spring-test-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:247) [spring-test-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94) [spring-test-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) [junit-4.12.jar:4.12] 
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) [junit-4.12.jar:4.12] 
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) [junit-4.12.jar:4.12] 
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) [junit-4.12.jar:4.12] 
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) [junit-4.12.jar:4.12] 
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) [spring-test-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) [spring-test-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.junit.runners.ParentRunner.run(ParentRunner.java:363) [junit-4.12.jar:4.12] 
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191) [spring-test-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) [.cp/:na] 
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) [.cp/:na] 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) [.cp/:na] 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678) [.cp/:na] 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) [.cp/:na] 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) [.cp/:na] 
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'OAuth2LoginApplicationTests.SpringBootApplicationTestConfig': Unsatisfied dependency expressed through field 'clientRegistrationRepository'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.security.oauth2.client.registration.ClientRegistrationRepository' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} 
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:588) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:366) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1264) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867) ~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543) ~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE] 
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE] 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE] 
at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:120) ~[spring-boot-test-1.5.8.RELEASE.jar:1.5.8.RELEASE] 
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:98) ~[spring-test-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:116) ~[spring-test-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
... 25 common frames omitted 
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.security.oauth2.client.registration.ClientRegistrationRepository' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1493) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1104) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:585) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
... 43 common frames omitted 

然後即時得到一個奇怪的編譯使用示例中完全相同的代碼時出現錯誤。

即使在HttpSecuritydocumentation中,該方法似乎也不存在。我對這個問題非常困惑。我是否導入錯誤的依賴關係?

OAuth2LoginApplicationTests.java線356?386

@Override 
    protected void configure(HttpSecurity http) throws Exception { 
     http 
      .authorizeRequests() 
       .anyRequest().authenticated() 
       .and() 
      .oauth2Login()  <-- this method does not exist 
       .tokenEndpoint() 
        .accessTokenResponseClient(this.mockAccessTokenResponseClient()) 
        .and() 
       .userInfoEndpoint() 
        .userService(this.mockUserService()); 
    } 

的pom.xml依賴

<repositories> 
    <repository> 
     <id>spring-milestones</id> 
     <name>Spring Milestones</name> 
     <url>https://repo.spring.io/libs-milestone</url> 
     <snapshots> 
      <enabled>false</enabled> 
     </snapshots> 
    </repository> 
</repositories> 

<dependencies> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-security</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-web</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-config</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-test</artifactId> 
     <scope>test</scope> 
    </dependency> 

    <!-- OAuth2 for clients --> 
    <dependency> 
     <groupId>org.springframework.security.oauth</groupId> 
     <artifactId>spring-security-oauth2</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-oauth2-client</artifactId> 
     <version>5.0.0.RC1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-oauth2-jose</artifactId> 
     <version>5.0.0.RC1</version> 
    </dependency> 

    <dependency> 
     <groupId>net.sourceforge.htmlunit</groupId> 
     <artifactId>htmlunit</artifactId> 
     <scope>test</scope> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-webflux --> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webflux</artifactId> 
     <version>5.0.1.RELEASE</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/org.thymeleaf.extras/thymeleaf-extras-springsecurity4 --> 
    <dependency> 
     <groupId>org.thymeleaf.extras</groupId> 
     <artifactId>thymeleaf-extras-springsecurity4</artifactId> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-thymeleaf --> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-thymeleaf</artifactId> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/io.projectreactor/reactor-core --> 
    <dependency> 
     <groupId>io.projectreactor</groupId> 
     <artifactId>reactor-core</artifactId> 
     <version>3.1.2.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>io.projectreactor.ipc</groupId> 
     <artifactId>reactor-netty</artifactId> 
     <version>0.7.2.RELEASE</version> 
    </dependency> 

    <dependency> 
     <groupId>com.jayway.jsonpath</groupId> 
     <artifactId>json-path</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.projectlombok</groupId> 
     <artifactId>lombok</artifactId> 
     <scope>provided</scope> 
    </dependency> 

    <dependency> 
     <groupId>com.google.code.findbugs</groupId> 
     <artifactId>jsr305</artifactId> 
     <version>3.0.1</version> 
     <scope>provided</scope> 
    </dependency> 
</dependencies> 

我是否錯過任何依賴關係或有錯誤的版本?如果我用gradle導入完整的項目,一切正常。

沙发
0
0

我發現了爲什麼會出現異常。我使用了錯誤版本作爲spring boot parent。

的例子使用的春天啓動的里程碑版本2.0.0.M6而不是最新發布版本1.5.8.RELEASE

我只是不得不改變

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.5.8.RELEASE</version> 
</parent> 

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>2.0.0.M6</version> 
</parent> 

注意塔t這是不是的發佈版!

0
votes
answers
7 views
+10

無法覆蓋的想法

0

我有maven安裝在系統中的重寫默認平方米文件夾庫(它從默認位置移動到另一個磁盤) 。但是每次我在Idea中重寫這個Maven設置時,它會不斷將其更改爲默認值,當我打開另一個項目時。我在主意默認設置file -> other settings -> default settings -> mavenfile -> settings -> maven(此處不斷更改爲默認值)中進行更改。我在做什麼錯了?無法覆蓋的想法

沙发
0
1

我不知道你在做什麼錯,但是這個工作對我使用版本終極2017.3前瞻:

1選擇文件 - >其他設置 - >默認設置

2從默認設置窗口中的類別列表,請選擇構建,執行,部署>構建工具> Maven

3輸入字段標Maven的主目錄

  • 單擊其「查找」按鈕標記「......」到該字段的右側。

  • 找到並選擇要成爲默認值的Maven版本,然後單擊確定。該Maven的主目錄字段將成爲填入您的選擇:

defaultSettings

4單擊OK 關閉默認設置窗口。這就是全部,並且不需要重新啓動IDEA。

要驗證過程:

  • 創建一個新的Maven項目:文件 - >新建 - >項目 - > Maven的 ....
  • 一旦項目被創建選擇文件 - >設置 - >構建,執行,部署>構建工具> Maven
  • Maven主目錄字段應填入您選擇的目錄作爲上面步驟3中的默認目錄。

(我認爲IDEA的菜單項可以提高有項目設置系統設置代替設置其他設置 - >默認設置可能會減少混亂)

0
votes
answers
6 views
+10

persistence.xml文件是不是在classpath

-1

所以我試圖建立使用Wildfly,JPA,Hibernate和MariaDB的使用Maven在Eclipse的adminsystem。我在WildFly管理控制檯中配置了我的數據源,一切正常。 Succesful connection picture in WildFly 現在我試圖寫入該項目與實體管理器工廠的數據庫在Eclipse。但我有此錯誤消息: Error message in Eclipse 在這裏你可以看到我的項目樹: Project treepersistence.xml文件是不是在classpath

這裏是我的POM:

<?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> 

<groupId>com.gyurmatag.adminsystem</groupId> 
<artifactId>adminsystem</artifactId> 
<version>1.0</version> 
<packaging>war</packaging> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <java.version>1.8</java.version> 

    <servlet.version>3.1.0</servlet.version> 
    <jsf.version>2.2.12</jsf.version> 
    <primefaces.version>5.3</primefaces.version> 

    <version.wildfly>9.0.2.Final</version.wildfly> 
    <jboss.home>${project.build.directory}/wildfly-${version.wildfly} 
    </jboss.home> 
    <server.config>standalone.xml</server.config> 

    <maven-compiler-plugin.version>3.3</maven-compiler-plugin.version> 
    <maven-dependency-plugin>2.10</maven-dependency-plugin> 
    <maven-resources-plugin.version>2.7</maven-resources-plugin.version> 
    <wildfly-maven-plugin.version>1.1.0.Alpha5</wildfly-maven-plugin.version> 
</properties> 

<dependencies> 
    <!-- Servlet --> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>javax.servlet-api</artifactId> 
     <version>${servlet.version}</version> 
     <scope>provided</scope> 
    </dependency> 
    <!-- JSF --> 
    <dependency> 
     <groupId>com.sun.faces</groupId> 
     <artifactId>jsf-api</artifactId> 
     <version>${jsf.version}</version> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.faces</groupId> 
     <artifactId>jsf-impl</artifactId> 
     <version>${jsf.version}</version> 
     <scope>compile</scope> 
    </dependency> 
    <!-- PrimeFaces --> 
    <dependency> 
     <groupId>org.primefaces</groupId> 
     <artifactId>primefaces</artifactId> 
     <version>${primefaces.version}</version> 
    </dependency>  

    <!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java- 
client --> 
    <dependency> 
     <groupId>org.mariadb.jdbc</groupId> 
     <artifactId>mariadb-java-client</artifactId> 
     <version>2.2.0</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core --> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>5.2.12.Final</version> 
    </dependency> 

    <dependency> 
     <groupId>org.hibernate.javax.persistence</groupId> 
     <artifactId>hibernate-jpa-2.1-api</artifactId> 
     <version>1.0.0.Final</version> 
    </dependency> 


    <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate- 
entitymanager --> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>5.2.12.Final</version> 
    </dependency> 

</dependencies> 

<build> 
<pluginManagement> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>${maven-compiler-plugin.version}</version> 
      <configuration> 
       <source>${java.version}</source> 
       <target>${java.version}</target> 
      </configuration> 
     </plugin> 
     <!-- Unpack the distribution --> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-dependency-plugin</artifactId> 
      <version>${maven-resources-plugin.version}</version> 
      <executions> 
       <execution> 
        <id>unpack-wildfly</id> 
        <phase>generate-sources</phase> 
        <goals> 
         <goal>unpack</goal> 
        </goals> 
        <configuration> 
         <artifactItems> 
          <artifactItem> 
           <groupId>org.wildfly</groupId> 
           <artifactId>wildfly-dist</artifactId> 
           <version>${version.wildfly}</version> 
           <type>zip</type> 
           <overWrite>false</overWrite> 
           <outputDirectory>${project.build.directory} 
</outputDirectory> 
          </artifactItem> 
         </artifactItems> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
     <!-- Copy server configuration --> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-resources-plugin</artifactId> 
      <version>${maven-resources-plugin.version}</version> 
      <executions> 
       <execution> 
        <id>copy-standalone-xml</id> 
        <phase>generate-sources</phase> 
        <goals> 
         <goal>copy-resources</goal> 
        </goals> 
        <configuration> 

<outputDirectory>${jboss.home}/standalone/configuration</outputDirectory> 
         <resources> 
          <resource> 
           <directory>src/main/resources</directory> 
          </resource> 
         </resources> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
     <!-- Maven WildFly plugin --> 
     <plugin> 
      <groupId>org.wildfly.plugins</groupId> 
      <artifactId>wildfly-maven-plugin</artifactId> 
      <version>${wildfly-maven-plugin.version}</version> 
      <configuration> 
       <jbossHome>${jboss.home}</jbossHome> 
       <serverConfig>${server.config}</serverConfig> 
      </configuration> 
     </plugin> 
    </plugins> 
    </pluginManagement> 
</build> 

這裏是我的持久性。 XML:

<?xml version="1.0" encoding="UTF-8"?> 
<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" 
     version="2.0"> 

      <persistence-unit name="adminsystem" transaction-type="JTA"> 
      <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> 

       <jta-data-source>jboss/MariaDBDS</jta-data-source> 


       <properties> 
        <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect" /> 
        <property name="hibernate.hbm2ddl.auto" value="validate" /> 
        <property name="hibernate.show_sql" value="true" /> 
        <property name="hibernate.format_sql" value="true" /> 
        <property name="hibernate.connection.release_mode" value="auto" /> 
       </properties> 
      </persistence-unit> 

這裏是我JPAUtility類:

package com.gyurmatag.adminsystem.model; 


import javax.persistence.EntityManager; 
import javax.persistence.EntityManagerFactory; 
import javax.persistence.Persistence; 


public class JPAUtility { 
private static final EntityManagerFactory emFactory; 
static { 
     emFactory = Persistence.createEntityManagerFactory("adminsystem"); 
} 
public static EntityManager getEntityManager(){ 
    return emFactory.createEntityManager(); 
} 
public static void close(){ 
    emFactory.close(); 
} 
} 

如果你想採取一個更仔細看看我的項目,你可以在這裏找到:Bitbucket repo

你能幫助我有了這個?

非常感謝! :)

+5

'persistence.xml'就是它應該被稱爲... – DN1

+0

這似乎是一個在問題中錯字... –

+0

是的。這是一個錯字。感謝您的答案! –

沙发
0
0

我懷疑你有太常見了「太多的依賴錯誤」。

更換所有你的依賴與:

<dependencies> 
    <dependency> 
     <groupId>javax</groupId> 
     <artifactId>javaee-api</artifactId> 
     <version>7.0</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.primefaces</groupId> 
     <artifactId>primefaces</artifactId> 
     <version>${primefaces.version}</version> 
    </dependency>  
</dependencies> 

,看你怎麼去...

+0

我的代碼中存在拼寫錯誤。無論如何感謝您的答案! –

+0

您應該解決您的依賴反正 –

+1

它工作正常... –

0
votes
answers
6 views
+10

如何在Apache MongoDB中存儲Apache Sling內容?

1

我是Java和Apache Sling的新手。我一直在試圖用MongoDB的鏈接吊帶和這些是我迄今所做的:如何在Apache MongoDB中存儲Apache Sling內容?

  1. 我在吊帶控制檯配置NoSQL MongoDB Resource Provider

NoSQL config

  • 然後Oak Document Node Store Service
  • Oak config

    1. 最後,我運行java -Dsling.run.modes=oak_mongo -jar org.apache .sling.launchpad-9.jar -c sling -f -以mongodb模式運行吊索啓動板。這是結果:

    Command Prompt

    其結果是,一個名爲 「吊」 在MongoDB中被創造,我可以通過ROBO-3T(一MongoDB的管理工具)看到數據庫:

    MongoDB

    使用下面的插件,通過我的Maven的應用程序創建一些內容和吊帶部署之後,我能看到我的新創建的節點和資源的吊帶瀏覽器(http://localhost:8080/bin/browser.html):

    <build> 
        <plugins> 
         <plugin> 
          <groupId>org.apache.felix</groupId> 
          <artifactId>maven-bundle-plugin</artifactId> 
          <extensions>true</extensions> 
          <version>3.3.0</version> 
          <configuration> 
           <instructions> 
            <Sling-Nodetypes> 
             SLING-INF/nodetypes/nodetypes.cnd 
            </Sling-Nodetypes> 
            <Sling-Initial-Content> 
             SLING-INF/scripts;overwrite:=true;uninstall:=true;path:=/apps/test1/nodes, 
             SLING-INF/content;overwrite:=true;uninstall:=true;path:=/content/test1 
            </Sling-Initial-Content> 
           </instructions> 
          </configuration> 
         </plugin> 
        </plugins> 
    </build> 
    

    但是,我需要將所有內容存儲在MongoDB數據庫中,但目前沒有任何存儲在數據庫中。我怎樣才能做到這一點?

    沙发
    0
    1

    最簡單的方法是使用以下參數啓動Sling Launchpad:-Dsling.run.modes=oak-mongo。這將確保Oak被配置爲使用Mongo。您必須刪除sling目錄,否則運行模式將不會更改。


    什麼你與你試圖做的是:

    1. 增加其陰影在庫根當前一個新的資源提供者。我不確定實際的效果,它可能會被拒絕 - 請參閱吊索錯誤日誌
    2. 配置一個使用Mongo的新的Oak NodeStoreService - 但它可能沒有被拾取,因爲已經有一個NodeStoreService正在運行 - 吊索需要一個啓動。
    +0

    非常感謝羅伯特,刪除索具目錄做到了這個把戲:) –

    +0

    @Bahman_Aries很高興聽到它的工作,享受Sling ;-) –

    0
    votes
    answers
    5 views
    +10

    如何解決sbt中具有不同包裝常春藤類型的依賴關係?

    0

    在我的例子中,我需要解決一個依賴項,其工件沒有傳統的jar作爲打包類型,而是maven-plugin(更具體地說,我感興趣的工件是Maven插件)。這在Maven land中是通過<packaging> XML標籤指定的。如何解決sbt中具有不同包裝常春藤類型的依賴關係?

    當我添加插件時,我的項目依賴於sbt構建,sbt成功更新項目,但已解析的依賴項不在類路徑中。我如何獲得sbt來將工件添加到我的類路徑中,以便依賴於這種依賴關係的代碼編譯?我用的Maven插件添加到我的構建

    代碼:

    libraryDependencies += "net.alchim31.maven" % "scala-maven-plugin" % "3.3.1" 
    
    沙发
    0
    0

    爲什麼有SBT不想要的神器添加到類路徑,因此編譯失敗有兩個原因。

    第一個原因是,默認情況下,sbt只識別包裝類型有限的工件(jarbundle以及其他幾個)。爲了告訴SBT我們感興趣的工件,其封裝類型爲maven-plugin,我們需要明確地告訴我們想要的文物從與依賴:

    libraryDependencies += ("net.alchim31.maven" % "scala-maven-plugin" % "3.3.1") 
        .withExplicitArtifacts(Vector("scala-maven-plugin", "maven-plugin", "jar")) 
    

    一旦我們做到了這一點,我們可以確認SBT通過運行下面的代碼在consoleProject確實讓我們的神器:

    Keys.update.in(myScope).in(myProject).eval.allFiles 
        .find(_.getAbsolutePath.contains("net")) 
    

    注意myScope必須是CompileTestRuntime(通常,這是Compile)和myProject必須是一個參考,如果一切順利,前一個操作的結果將是Some(...),這表明工件確實已解析並檢測到。

    但是,我們沒有完成。如果我們運行myProject/dependencyClasspath,這次從sbt shell中,我們不會在那裏看到我們的工件。這是第二步需要的地方:我們需要將我們的新包裝類型添加到classpathTypes,以便sbt將工件添加到我們的編譯類路徑中。

    classpathTypes += "maven-plugin" 
    

    這一切的實現,我們應該運行myProject/dependencyClasspath,看看我們的神器存在。

    但故事還沒有結束,在這裏我們進入「bug」領域。 Sbt不會自動將classpathTypes中的打包類型添加到負責在pom文件中聲明依賴關係的pom配置中。請注意,否則,您的應用程序將因ClassNotFoundException或類似問題而失敗,因爲並非所有相關工件都已解析和分類。

    所以爲了有一個工作的應用程序,你需要自己做:

    makePomConfiguration := 
        makePomConfiguration.value.withIncludeTypes(classpathTypes.value) 
    

    ,這是不是默認設置的事實,它只是在1.x中的SBT錯誤

    0
    votes
    answers
    5 views
    +10

    由於缺少WebApp庫而導致Spring引導啓動項目中的構建失敗

    0

    我在Eclipse Oxygen 4.7.0中有一個Spring-Boot-Starter-project,並且正在嘗試構建一個用於在EC2實例上部署的.war。我已經添加了兩個jar來允許JDBC從我部署的戰爭中連接到PostgresSQL DB服務器。由於缺少WebApp庫而導致Spring引導啓動項目中的構建失敗

    location of added jars in spring-boot-starter project

    我還添加了src/main/webapp/WEB-INF/lib路徑到項目的構建路徑如下圖所示

    src/main/webapp/WEB-INF/lib path is added to Java build path

    但是,我得到的時候我做mvn compile與構建失敗的編譯錯誤陳述原因爲無法使用瓶類

    任何幫助將非常感謝

    enter image description here

    +1

    您必須在您的pom文件中添加依賴項。如果您正在使用Maven,您需要了解事實只有在POM中,而不是在您的IDE中...... – khmarbaise

    沙发
    0
    1

    你已經在你的eclipse配置項目構建路徑,並且當你正在做mvn compile它不會影響任何東西。 Maven不會包含lib文件夾中的jar,因爲它不知道lib文件夾的存在。您應該應用以下兩種選擇之一:

    a。如果這些jar文件存在於maven倉庫中,那麼更新你的pom文件直接從maven倉庫讀取。 b。將這些jar安裝到本地存儲庫中,然後在pom.xml中引用它,檢查https://stackoverflow.com/a/30209982/3530898以獲取詳細信息

    +0

    我按照您的說法在本地repo中安裝了jar,然後在pom.xml中添加了標準依賴項。它像一個魅力。謝謝! – somnathchakrabarti

    0
    votes
    answers
    5 views
    +10

    如何將日誌文件路徑配置爲log4j2 xml格式的當前工作目標目錄

    0

    Iam將我的項目從log4j 1.2.17遷移到2.10.0。如何將日誌文件路徑配置爲log4j2 xml格式的當前工作目標目錄

    我在1.2.17屬性格式中有以下文件appender配置。

    log4j.appender.example=org.apache.log4j.FileAppender 
    log4j.appender.example.file=./target/test-classes/example.log 
    log4j.appender.example.layout=org.apache.log4j.PatternLayout 
    log4j.appender.example.layout.ConversionPattern=%m%n 
    

    如何配置log4j2 xml格式的上述目標文件夾文件配置。

    在此先感謝。

    沙发
    0
    1

    的東西在這裏是由log4j2 DOC提供的示例配置

    <?xml version="1.0" encoding="UTF-8"?> 
    <Configuration status="warn" name="MyApp" packages=""> 
        <Appenders> 
        // This section represents your properties 
        <File name="MyFile" fileName="./target/test-classes/example.log"> 
         <PatternLayout> 
         <Pattern>%m%n</Pattern> 
         </PatternLayout> 
        </File> 
        </Appenders> 
        <Loggers> 
        <Root level="error"> 
         <AppenderRef ref="MyFile"/> 
        </Root> 
        </Loggers> 
    </Configuration> 
    

    https://logging.apache.org/log4j/2.x/manual/appenders.html#FileAppender

    板凳
    0
    0

    您可以在appender中使用param標籤。像

    <appender name="example" class="exampleClass"> 
         ..... 
         <param name="file" value="./target/test-classes/example.log" /> 
         ..... 
    
    </appender> 
    
    0
    votes
    answers
    5 views
    +10

    如何使lombok註釋@NotNull在IntelliJ中工作?

    0

    由於某些原因,lombok @NotNull註解在我的IntelliJ IDEA的Maven項目中不起作用。如何使lombok註釋@NotNull在IntelliJ中工作?

    我有一個maven lombok依賴版本1.16.16。 enter image description here

    這是我的進口報表。

    enter image description here

    正如你看到的其他龍目島的依賴正常工作。 我發現@NotNull註釋具有保留策略CLASS和其他註釋(@Data,@NoArgsConstructor等)具有保留策略的源。任何想法如何解決這個問題?

    +0

    你已經安裝了[龍目島插件](https://plugins.jetbrains.com/plugin/6317-lombok-plugin)? – zyexal

    +0

    刷新/更新maven項目,啓用intellij想法註釋處理 –

    沙发
    0
    5

    註釋是@NonNull,以 'N'

    +0

    查看https://projectlombok.org/features/NonNull –

    0
    votes
    answers
    5 views
    +10

    Selenium程序拋出編譯錯誤org.openqa.selenium.internal.Killable無法解析

    1

    我已經使用Selenium和Maven創建了一個新的Java項目。這是在pom.xml中的相關內容Selenium程序拋出編譯錯誤org.openqa.selenium.internal.Killable無法解析

    <dependencies> 
    
        <dependency> 
         <groupId>junit</groupId> 
         <artifactId>junit</artifactId> 
         <version>3.8.1</version> 
         <scope>test</scope> 
        </dependency> 
        <dependency> 
         <groupId>org.seleniumhq.selenium</groupId> 
         <artifactId>selenium-java</artifactId> 
         <version>2.45.0</version> 
        </dependency> 
        <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-chrome-driver --> 
        <dependency> 
         <groupId>org.seleniumhq.selenium</groupId> 
         <artifactId>selenium-chrome-driver</artifactId> 
         <version>3.8.1</version> 
        </dependency> 
    
    </dependencies> 
    

    然後我創建了一個使用硒框架這個基本的Java程序:

    import org.openqa.selenium.WebDriver; 
    import org.openqa.selenium.firefox.FirefoxDriver; 
    
    public class Start { 
        public static void main(String[] args) { 
         // declaration and instantiation of objects/variables 
         System.setProperty("webdriver.firefox.marionette", "D:\geckodriver.exe"); 
    
         WebDriver driver = null; 
         try { 
          driver = new FirefoxDriver(); 
          String baseUrl = "https://www.google.co.in/"; 
    
          driver.get(baseUrl); 
    
         } finally { 
          driver.close(); 
         } 
    
        } 
    } 
    

    不過,我得到這個編譯錯誤:

    The type org.openqa.selenium.internal.Killable cannot be resolved. It is indirectly referenced from required .class files

    有人可以建議我哪裏錯了嗎?

    沙发
    0
    2

    pom.xml刪除此依賴關係:

    <dependency> 
         <groupId>org.seleniumhq.selenium</groupId> 
         <artifactId>selenium-chrome-driver</artifactId> 
         <version>3.8.1</version> 
        </dependency> 
    

    您正在使用Selenium Java綁定的vesrion 2.45.0(於2015年2月出版):

    <dependency> 
         <groupId>org.seleniumhq.selenium</groupId> 
         <artifactId>selenium-java</artifactId> 
         <version>2.45.0</version> 
        </dependency> 
    

    如果檢查編譯以上軟件包的依賴關係:https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java/2.45.0
    你會看到這個軟件包d依靠selenium-chrome-driver 2.45.0包裹。 Maven在編譯過程中會自動解決這個依賴問題,所以你不需要在pom.xml中聲明這個包。文件。


    但是如果你聲明這個包selenium-chrome-driver作爲pom.xml文件直接依賴,使用不同的版本(最新3.8.1),然後行家將使用編譯時該版本3.8.1而不是2.45.0,這將導致使用錯誤錯誤,不兼容的jar庫。

    +0

    謝謝,這工作!即使在刪除條目後,問題也很少。我通過在本地maven回購中重新創建相關包來解決此問題 – CuriousCoder