1

I am getting this error

java.lang.NoClassDefFoundError: org/datanucleus/exceptions/NucleusException

My files: UserDAOImpl.java

public class UserDAOImpl implements UserDAO{
static Logger log = Logger.getLogger(UserDAOImpl.class.getName());

@Autowired
private DataSource dataSource;
private PersistenceManagerFactory persistenceManagerFactory;
HttpServletRequest request;

@Override
public User getUser(String user_name, String user_password) {
    PersistenceManager pm = this.persistenceManagerFactory.getPersistenceManager();
    try {
        Query query = pm.newQuery(User.class);
        query.setFilter("userName == userNameParam && userPassword==userPasswordParam");
        query.declareParameters("String lastNameParam, String userPasswordParam");
        User user = (User) query.execute(user_name,user_password);
        log.info(user.getUserEmail()+"..........."+user.getUserProfileName());
        return user;
    }
    finally {
        pm.close();
    } 
}

dispatcher-servlet.xml

<!-- declare mvc to be annotation driven -->
<mvc:annotation-driven/>
<!-- provide Your Base package to scan annotations for components -->
<context:component-scan base-package="com.titas.controller"></context:component-scan>
<mvc:resources location="static/" mapping="static/**"/>

<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
<!--
Most controllers will use the ControllerClassNameHandlerMapping above, but
for the index controller we are using ParameterizableViewController, so we must
define an explicit mapping for it.
-->
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <props>
            <prop key="index">indexController</prop>
        </props>
    </property>
</bean>

<bean id="viewResolver"
      class="org.springframework.web.servlet.view.InternalResourceViewResolver"
      p:prefix="/WEB-INF/jsp/"
      p:suffix=".jsp" />

<!--
The index controller.
-->
<bean name="indexController"
      class="org.springframework.web.servlet.mvc.ParameterizableViewController"
      p:viewName="index" />

<bean id="dataSource"
  class="org.springframework.jdbc.datasource.DriverManagerDataSource"
    p:driverClassName="com.mysql.jdbc.Driver"
    p:url="jdbc:mysql://localhost:3306/login"
    p:username="root"
    p:password="" />

<bean id="myPmf" class="org.datanucleus.api.jdo.JDOPersistenceManagerFactory" destroy-method="close">
  <property name="connectionFactory" ref="dataSource"/>
  <property name="nontransactionalRead" value="true"/>
</bean>

<bean id="userDAO" class="com.titas.dao.UserDAOImpl" >
</bean>

User.java

     @PersistenceCapable
        public class User {
             @PrimaryKey
             @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
             private Integer userId=0;
             @Persistent
             private String userProfileName=null;  
             @Persistent
             private String userEmail=null;
             @Persistent
             private String userContact=null;
             @Persistent
             private String userName=null;
             @Persistent
             private String userPassword=null;
             @Persistent
             private Integer userRoleId=0;
             @Persistent
             private String role=null;

MyController.java

@Controller
//@RequestMapping(value = "/test")
public class MyController{

      static Logger log = Logger.getLogger(MyController.class.getName());
      @Autowired
      private UserDAO userDAO;
      List<User> allUser = new ArrayList<User>();

I have used jars like: mysql-connector-java-5.1.6, ojdbc14, jdo-api-3.0.1, aopalliance-1.0, maven-datanucleus-plugin-3.1.0-release, datanucleus-api-jdo-3.0.0-release.

I am very new in JDO. Please help!!

Jens
  • 67,715
  • 15
  • 98
  • 113

1 Answers1

2

You need to add the datanucleus-core-3.1.1.jar jar to your classpath.

Jens
  • 67,715
  • 15
  • 98
  • 113
  • thank you. i added. now it is nullpointer in this line PersistenceManager pm = this.persistenceManagerFactory.getPersistenceManager(); in daoimpl class...Can you tell me why? java.lang.NullPointerException com.titas.dao.UserDAOImpl.getUser(UserDAOImpl.java:38) – Moumita Das Purba Apr 15 '15 at 12:07
  • @MoumitaDasPurba look [here](http://stackoverflow.com/questions/4185382/how-to-use-jdo-persistence-manager) maybe this helps. – Jens Apr 15 '15 at 12:19
  • it means i should create one class for PersistenceManager ? – Moumita Das Purba Apr 15 '15 at 12:24