2013-02-11 2 views
1

Я не могу запустить следующий код, как я полагаю, я отсутствую зависимость (файл JAR), при запуске коды он показывает следующую ошибкене может найти символ DataSource

суровой: java.lang.RuntimeException: Uncompilable исходный код - не может найти символ символ: класс DataSource местоположение: класс com.myproject.model

import java.sql.Connection; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 
import javax.naming.Context; 
import javax.naming.InitialContext; 
import sun.jdbc.odbc.ee.DataSource; //and import javax.sql.DataSource both does not work 

public class AuthModel { 

    public Connection DbConnection(){ 
      Connection con = null; 
     try { 
         Context ctx = new InitialContext(); 
cant find symbol Error >> DataSource ds = new (DataSource)ctx.lookup("mydatabase"); 
         con = ds.getConnection("root", ""); 
         con.setAutoCommit(false); 
        ..... 

зависимости

<dependencies> 
     <dependency> 
      <groupId>org.apache.struts</groupId> 
      <artifactId>struts2-core</artifactId> 
      <version>2.3.8</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.struts</groupId> 
      <artifactId>struts2-tiles-plugin</artifactId> 
      <version>2.3.8</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.struts</groupId> 
      <artifactId>struts2-convention-plugin</artifactId> 
      <version>2.3.8</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.struts</groupId> 
      <artifactId>struts2-dojo-plugin</artifactId> 
      <version>2.3.8</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.struts</groupId> 
      <artifactId>struts-taglib</artifactId> 
      <version>1.3.10</version> 
     </dependency> 
     <dependency> 
      <groupId>jdbc</groupId> 
      <artifactId>jdbc-stdext</artifactId> 
      <version>2.0</version> 
      <type>pom</type> 
     </dependency> 
     <dependency> 
      <groupId>javax.sql</groupId> 
      <artifactId>jdbc-stdext</artifactId> 
      <version>2.0</version> 
      <type>pom</type> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.2</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
        <compilerArguments> 
         <endorseddirs>${endorsed.dir}</endorseddirs> 
        </compilerArguments> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.1.1</version> 
       <configuration> 
        <failOnMissingWebXml>false</failOnMissingWebXml> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-dependency-plugin</artifactId> 
       <version>2.1</version> 
       <executions> 
        <execution> 
         <phase>validate</phase> 
         <goals> 
          <goal>copy</goal> 
         </goals> 
         <configuration> 
          <outputDirectory>${endorsed.dir}</outputDirectory> 
          <silent>true</silent> 
          <artifactItems> 
           <artifactItem> 
            <groupId>javax</groupId> 
            <artifactId>javaee-endorsed-api</artifactId> 
            <version>6.0</version> 
            <type>jar</type> 
           </artifactItem> 
          </artifactItems> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 

</project> 
+0

http://docs.oracle.com/javase/7/docs/api/javax/sql/package-summary.html –

+0

@Brian Roach, я читал, что проблема должна быть зависимой. –

ответ

0

Я не мог решить проблему с DataSource, но после этого я решил 1 решить проблему с помощью BasicDataSource, и он отлично работает сейчас.

1

Я размышляю здесь, но это похоже на проблему класса. Я вижу, что вы импортируете javax.sql. Вам нужно импортировать javax.sql.* или, в частности, javax.sql.DataSource? Кроме того, убедитесь, что у вас есть необходимая банка.

Кроме того, если у вас есть два разных пакета с одним классом, существует вероятность конфликтов классов. Пытались ли вы переименование переменных вместе с пути пакета .. ака

public final static String MY_DATABASE = "mydatabase" 
... 
javax.sql.DataSource dataSource = new (javax.sql.DataSource)context.lookup(MY_DATABASE); 

Кроме того, одна сторона ноты, вы не могли бы использовать такие переменные, как мошенника, CTX и AuthModel и использовать fullnames ака AuthentionModel, XProject, соединение, контекст, dataSource и т. д.

+0

Это не сработало, когда я использую javax.sql. * Он показывает, что импорт не используется, когда я использую javax.sql.DataSource, он запрашивает зависимость, но я уже добавил зависимость от maven –

+0

, вам нужно добавить ' javax.sql.DataSource' в вашем списке зависимостей? – rishi

Смежные вопросы