2016-07-13 7 views
-1

私はバックエンドでcassandraという新しいjhipsterプロジェクトを作成しました。 ./mvnvを使用してアプリケーションを起動しているうちに、エラーが発生してアプリケーションが起動しません。Jhipster Cassandraプロジェクトが起動していません

エラー

[ERROR]ゴールorg.springframework.bootの実行に失敗しました:春・ブートのmaven-pluginの:1.3.5.RELEASE:プロジェクトカストロールの実行(デフォルト-CLI):例外がしばらく発生しましたランニング。 null:InvocationTargetException: 'userService'という名前のBeanを作成中にエラーが発生しました:自動従属依存の注入が失敗しました。ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです:フィールドをautowireできませんでした:private org.springframework.security.crypto.password.PasswordEncoder com.kpit.castrol.service.UserService.passwordEncoder;ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです: 'securityConfiguration'という名前のBeanの作成中にエラーが発生しました:autowired依存関係の注入が失敗しました。ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです:フィールドをautowireできませんでした:private org.springframework.security.core.userdetails.UserDetailsS​​ervice com.kpit.castrol.config.SecurityConfiguration.userDetailsS​​ervice;ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです: 'userDetailsS​​ervice'という名前のBeanを作成中にエラーが発生しました:自動依存関係の注入が失敗しました。ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです:フィールドをautowireできませんでした:private com.kpit.castrol.repository.UserRepository com.kpit.castrol.security.UserDetailsS​​ervice.userRepository;ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです: 'userRepository'という名前のBeanの作成中にエラーが発生しました:initメソッドの呼び出しに失敗しました。入れ子になっていない例外はcom.datastax.driver.core.exceptions.InvalidQueryExceptionです:未設定のテーブルユーザ - > [ヘルプ1]

私はcassandraにユーザテーブルを作成する必要がありますか?

例外:

2016年7月13日16:03:51.852 ERROR 15114 --- [OST-startStop-1] oaccC [Tomcatの] [ローカルホスト] [/]:例外が出発フィルタspringSecurityFilterChain

org.springframework.beans.factory.BeanCreationException: 'org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration'という名前のBeanを作成中にエラーが発生しました:autowired依存関係の注入が失敗しました。ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです:メソッドをオートワイヤできませんでした:public void org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration.setFilterChainProxySecurityConfigurer(org.springframework.security.config.annotation.ObjectPostProcessor、 java.util.List)はjava.lang.Exceptionをスローします。ネストされた例外はorg.springframework.beans.factory.BeanExpressionExceptionです:式の解析に失敗しました。ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです: 'securityConfiguration'という名前のBeanの作成中にエラーが発生しました:autowired依存関係の注入が失敗しました。ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです:フィールドをautowireできませんでした:private org.springframework.security.core.userdetails.UserDetailsS​​ervice com.kpit.castrol.config.SecurityConfiguration.userDetailsS​​ervice;ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです: 'userDetailsS​​ervice'という名前のBeanを作成中にエラーが発生しました:自動依存関係の注入が失敗しました。ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです:フィールドをautowireできませんでした:private com.kpit.castrol.repository.UserRepository com.kpit.castrol.security.UserDetailsS​​ervice.userRepository;ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです: 'userRepository'という名前のBeanの作成中にエラーが発生しました:initメソッドの呼び出しに失敗しました。ネストされた例外はcom.datastax.driver.core.exceptions.InvalidQueryExceptionです。未設定のテーブルユーザ at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334) at org.springframework.beans.factory。 。AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory。Javaの:1214)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBeanで org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanで(AbstractAutowireCapableBeanFactory.java:543) (AbstractAutowireCapableBeanFactory.java:482) でorg.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:306) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) at org.springframework.beans .factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) at org.springframework.beans.factory.suppor org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstanceでorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1123) でt.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:368) ( org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanでorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510) でAbstractAutowireCapableBeanFactory.java:1018) (AbstractAutowireCapableBeanFactory.java:482) at org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:306) at org.springframework.beans.factory.s org.springframework.beans.factory.support.AbstractBeanFactory.getBean(java.lang.String) AbstractBeanFactory.java:202)ORGでorg.springframework.web.filter.DelegatingFilterProxy.initDelegate(DelegatingFilterProxy.java:326) でorg.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1060) で。 org.apache.catalina.core.ApplicationFilterConfig.initFilterでorg.springframework.web.filter.GenericFilterBean.init(GenericFilterBean.java:199) でspringframework.web.filter.DelegatingFilterProxy.initFilterBean(DelegatingFilterProxy.java:235) (アプリケーションonFilterConfig.java:279) at org.apache.catalina.core.ApplicationFilterConfig。(ApplicationFilterConfig.java:109) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4658) at org.apache .catalina.core.StandardContext.startInternal(StandardContext.java:5277) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) at org.apache.catalina.core.ContainerBase $ StartChild.call (ContainerBase.java:1408) at org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1398) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java .util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)java.lang.Thread.run(Thread.java:745)で

enter code here 


/** 
* Cassandra repository for the User entity. 
*/ 
@Repository 
public class UserRepository { 

    @Inject 
    private Session session; 

    private Mapper<User> mapper; 

    private PreparedStatement findAllStmt; 

    private PreparedStatement findOneByActivationKeyStmt; 

    private PreparedStatement findOneByResetKeyStmt; 

    private PreparedStatement insertByActivationKeyStmt; 

    private PreparedStatement insertByResetKeyStmt; 

    private PreparedStatement deleteByActivationKeyStmt; 

    private PreparedStatement deleteByResetKeyStmt; 

    private PreparedStatement findOneByLoginStmt; 

    private PreparedStatement insertByLoginStmt; 

    private PreparedStatement deleteByLoginStmt; 

    private PreparedStatement findOneByEmailStmt; 

    private PreparedStatement insertByEmailStmt; 

    private PreparedStatement deleteByEmailStmt; 

    @PostConstruct 
    public void init() { 
     mapper = new MappingManager(session).mapper(User.class); 

     findAllStmt = session.prepare("SELECT * FROM user"); 

     findOneByActivationKeyStmt = session.prepare(
      "SELECT id " + 
      "FROM user_by_activation_key " + 
      "WHERE activation_key = :activation_key"); 

     findOneByResetKeyStmt = session.prepare(
      "SELECT id " + 
      "FROM user_by_reset_key " + 
      "WHERE reset_key = :reset_key"); 

     insertByActivationKeyStmt = session.prepare(
      "INSERT INTO user_by_activation_key (activation_key, id) " + 
      "VALUES (:activation_key, :id)"); 

     insertByResetKeyStmt = session.prepare(
      "INSERT INTO user_by_reset_key (reset_key, id) " + 
      "VALUES (:reset_key, :id)"); 

     deleteByActivationKeyStmt = session.prepare(
      "DELETE FROM user_by_activation_key " + 
      "WHERE activation_key = :activation_key"); 

     deleteByResetKeyStmt = session.prepare(
      "DELETE FROM user_by_reset_key " + 
      "WHERE reset_key = :reset_key"); 

     findOneByLoginStmt = session.prepare(
      "SELECT id " + 
      "FROM user_by_login " + 
      "WHERE login = :login"); 

     insertByLoginStmt = session.prepare(
      "INSERT INTO user_by_login (login, id) " + 
       "VALUES (:login, :id)"); 

     deleteByLoginStmt = session.prepare(
      "DELETE FROM user_by_login " + 
       "WHERE login = :login"); 

     findOneByEmailStmt = session.prepare(
      "SELECT id " + 
      "FROM user_by_email " + 
      "WHERE email  = :email"); 

     insertByEmailStmt = session.prepare(
      "INSERT INTO user_by_email (email, id) " + 
       "VALUES (:email, :id)"); 

     deleteByEmailStmt = session.prepare(
      "DELETE FROM user_by_email " + 
       "WHERE email = :email"); 
    } 

    public User findOne(String id) { 
     return mapper.get(id); 
    } 

    public Optional<User> findOneById(String id) { 
     return Optional.of(findOne(id)); 
    } 

    public Optional<User> findOneByActivationKey(String activationKey) { 
     BoundStatement stmt = findOneByActivationKeyStmt.bind(); 
     stmt.setString("activation_key", activationKey); 
     return findOneFromIndex(stmt); 
    } 

    public Optional<User> findOneByResetKey(String resetKey) { 
     BoundStatement stmt = findOneByResetKeyStmt.bind(); 
     stmt.setString("reset_key", resetKey); 
     return findOneFromIndex(stmt); 
    } 

    public Optional<User> findOneByEmail(String email) { 
     BoundStatement stmt = findOneByEmailStmt.bind(); 
     stmt.setString("email", email); 
     return findOneFromIndex(stmt); 
    } 

    public Optional<User> findOneByLogin(String login) { 
     BoundStatement stmt = findOneByLoginStmt.bind(); 
     stmt.setString("login", login); 
     return findOneFromIndex(stmt); 
    } 

    public List<User> findAll() { 
     return mapper.map(session.execute(findAllStmt.bind())).all(); 
    } 

    public User save(User user) { 
     User oldUser = mapper.get(user.getId()); 
     if (oldUser != null) { 
      if (!StringUtils.isEmpty(oldUser.getActivationKey()) && !oldUser.getActivationKey().equals(user.getActivationKey())) { 
       session.execute(deleteByActivationKeyStmt.bind().setString("activation_key", oldUser.getActivationKey())); 
      } 
      if (!StringUtils.isEmpty(oldUser.getResetKey()) && !oldUser.getResetKey().equals(user.getResetKey())) { 
       session.execute(deleteByResetKeyStmt.bind().setString("reset_key", oldUser.getResetKey())); 
      } 
      if (!StringUtils.isEmpty(oldUser.getLogin()) && !oldUser.getLogin().equals(user.getLogin())) { 
       session.execute(deleteByLoginStmt.bind().setString("login", oldUser.getLogin())); 
      } 
      if (!StringUtils.isEmpty(oldUser.getEmail()) && !oldUser.getEmail().equals(user.getEmail())) { 
       session.execute(deleteByEmailStmt.bind().setString("email", oldUser.getEmail())); 
      } 
     } 
     BatchStatement batch = new BatchStatement(); 
     batch.add(mapper.saveQuery(user)); 
     if (!StringUtils.isEmpty(user.getActivationKey())) { 
      batch.add(insertByActivationKeyStmt.bind() 
       .setString("activation_key", user.getActivationKey()) 
       .setString("id", user.getId())); 
     } 
     if (!StringUtils.isEmpty(user.getResetKey())) { 
      batch.add(insertByResetKeyStmt.bind() 
       .setString("reset_key", user.getResetKey()) 
       .setString("id", user.getId())); 
     } 
     batch.add(insertByLoginStmt.bind() 
      .setString("login", user.getLogin()) 
      .setString("id", user.getId())); 
     batch.add(insertByEmailStmt.bind() 
      .setString("email", user.getEmail()) 
      .setString("id", user.getId())); 
     session.execute(batch); 
     return user; 
    } 

    public void delete(User user) { 
     BatchStatement batch = new BatchStatement(); 
     batch.add(mapper.deleteQuery(user)); 
     if (!StringUtils.isEmpty(user.getActivationKey())) { 
      batch.add(deleteByActivationKeyStmt.bind().setString("activation_key", user.getActivationKey())); 
     } 
     if (!StringUtils.isEmpty(user.getResetKey())) { 
      batch.add(deleteByResetKeyStmt.bind().setString("reset_key", user.getResetKey())); 
     } 
     batch.add(deleteByLoginStmt.bind().setString("login", user.getLogin())); 
     batch.add(deleteByEmailStmt.bind().setString("email", user.getEmail())); 
     session.execute(batch); 
    } 

    private Optional<User> findOneFromIndex(BoundStatement stmt) { 
     ResultSet rs = session.execute(stmt); 
     if (rs.isExhausted()) { 
      return Optional.empty(); 
     } 
     return Optional.ofNullable(rs.one().getString("id")) 
      .map(id -> Optional.ofNullable(mapper.get(id))) 
      .get(); 
    } 
} 
+1

例外トレースをフォーマットし、UserServiceクラスとそれをオートワイヤードしようとするクラスを表示してください。 – Patrick

+0

こんにちはPatrick @Patrick、プロジェクトを作成した後、私は変更を加えていません。それは、cassandraとしてのバックエンドを持つベースアプリケーションです。私はcassandraのキースペースを作成し、appication.ymlファイルで更新しました。エラーはBean Creation Exceptionですが、jhipsterはBeanを作成できません。 – atulthree

+0

例外のこの部分を見てください: 'メソッドをautowireできませんでした:public void'。おそらくタイプミスがあります。しかし、いくつかのコードを見るのが簡単になります。 – Patrick

答えて

0

お読みくださいJHipster doc about Cassandraあなたのデータベースを作成するための移行ツールを実行する必要があります。

関連する問題