2016-04-26 19 views
0

私のカスタムコード用に新しいjarファイルを作成しましたが、このjarファイルを新しいプロジェクトに追加して「パッケージは存在しません」と「シンボルを見つけることができません。Javaアプリケーションでカスタムjarを実装する際にエラーが発生しました

jarファイル AbstractDao.class

package kar; 
 
import org.hibernate.HibernateException; 
 
import org.hibernate.Session; 
 
import org.hibernate.Transaction; 
 
import org.hibernate.Query; 
 

 
import java.util.List; 
 

 
public abstract class AbstractDao { 
 
    private Session session; 
 
    private Transaction tx; 
 

 
    public AbstractDao() { 
 
     HibernateFactory.buildIfNeeded(); 
 
    } 
 

 
    protected void saveOrUpdate(Object obj) { 
 
     try { 
 
      startOperation(); 
 
      session.saveOrUpdate(obj); 
 
      tx.commit(); 
 
     } catch (HibernateException e) { 
 
      handleException(e); 
 
     } finally { 
 
      HibernateFactory.close(session); 
 
     } 
 
    } 
 

 
    protected void delete(Object obj) { 
 
     try { 
 
      startOperation(); 
 
      session.delete(obj); 
 
      tx.commit(); 
 
     } catch (HibernateException e) { 
 
      handleException(e); 
 
     } finally { 
 
      HibernateFactory.close(session); 
 
     } 
 
    } 
 

 
    protected Object find(Class clazz, Long id) { 
 
     Object obj = null; 
 
     try { 
 
      startOperation(); 
 
      obj = session.load(clazz, id); 
 
      tx.commit(); 
 
     } catch (HibernateException e) { 
 
      handleException(e); 
 
     } finally { 
 
      HibernateFactory.close(session); 
 
     } 
 
     return obj; 
 
    } 
 

 
    protected List findAll(Class clazz) { 
 
     List objects = null; 
 
     try { 
 
      startOperation(); 
 
      Query query = session.createQuery("from " + clazz.getName()); 
 
      objects = query.list(); 
 
      tx.commit(); 
 
     } catch (HibernateException e) { 
 
      handleException(e); 
 
     } finally { 
 
      HibernateFactory.close(session); 
 
     } 
 
     return objects; 
 
    } 
 

 
    protected void handleException(HibernateException e) throws DataAccessLayerException { 
 
     HibernateFactory.rollback(tx); 
 
     throw new DataAccessLayerException(e); 
 
    } 
 

 
    protected void startOperation() throws HibernateException { 
 
     session = HibernateFactory.openSession(); 
 
     tx = session.beginTransaction(); 
 
    } 
 
}

と私の実装クラスだった、クラスを持って、

UserService.java

package obs.service; 
 

 
import kar.AbstractDao; 
 
import kar.DataAccessLayerException; 
 
import obs.domain.User; 
 

 
import org.springframework.stereotype.Service; 
 

 
@Service("IUserService") 
 
public class UserService extends AbstractDao { 
 

 

 
\t public UserService() { 
 
\t \t super(); 
 
\t } 
 

 
\t public void create(User event) throws DataAccessLayerException { 
 
\t \t super.saveOrUpdate(event); 
 
\t } 
 
}

ここでは、AbstractDao.classファイルをjar内に配置し、UserService.javaにAbstractDaoクラスを実装しました。これは私が得たエラーです

enter image description here

+1

は、プロジェクトに新しいjarファイルを含めるために取った手順を何にいくつかのより多くの記述が有効になってデバッグであなたのpom.xml、完全なスタックトレースを共有 – gba

+0

追加参照します – mirmdasif

+0

こんにちは@gba私は私の質問を更新しました。 – Karthikeyan

答えて

4

あなたのエラーの考えられる理由は、あなたが適切にあなたのローカルのMavenリポジトリにカスタムjarファイルをインストールしていないということです。

ローカルリポジトリにjarをインストールするには、次のようにします。

mvn install:install-file 
    -Dfile=<path-to-file> 
    -DgroupId=<group-id> 
    -DartifactId=<artifact-id> 
    -Dversion=<version> 
    -Dpackaging=<packaging> 
    -DgeneratePom=true 

Where: <path-to-file> the path to the file to load 
    <group-id>  the group that the file should be registered under 
    <artifact-id> the artifact name for the file 
    <version>  the version of the file 
    <packaging>  the packaging of the file e.g. jar 

Reference

もこの質問How to add local jar files in maven project?

関連する問題