Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 找不到符号数据源_Java_Sql_Maven_Jdbc_Datasource - Fatal编程技术网

Java 找不到符号数据源

Java 找不到符号数据源,java,sql,maven,jdbc,datasource,Java,Sql,Maven,Jdbc,Datasource,我无法运行以下代码,因为我想我缺少一个依赖项(jar文件), 当我运行代码时,它显示以下错误 严重:java.lang.RuntimeException:不可编译源代码-找不到符号 符号:类数据源 位置:class com.myproject.model import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; im

我无法运行以下代码,因为我想我缺少一个依赖项(jar文件), 当我运行代码时,它显示以下错误

严重:java.lang.RuntimeException:不可编译源代码-找不到符号 符号:类数据源 位置:class 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>

org.apache.struts
struts2型芯
2.3.8
org.apache.struts
struts2瓷砖插件
2.3.8
org.apache.struts
struts2约定插件
2.3.8
org.apache.struts
struts2 dojo插件
2.3.8
org.apache.struts
struts标记库
1.3.10
jdbc
jdbc-stdext
2
聚甲醛
javax.sql
jdbc-stdext
2
聚甲醛
org.apache.maven.plugins
maven编译器插件
2.3.2
1.6
1.6
${annowed.dir}
org.apache.maven.plugins
maven战争插件
2.1.1
假的
org.apache.maven.plugins
maven依赖插件
2.1
验证
复制
${annowed.dir}
真的
爪哇
javaee认可的api
6
罐子

我在这里猜测,但这看起来像是类路径问题。我看到您正在导入
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);

另外,有一点需要注意,您是否可以不使用con、ctx和AuthModel等变量,而使用全名,即authenionmodel、XProject、connection、context、dataSource等等

我在这里猜测,但这看起来像是一个类路径问题。我看到您正在导入
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);

另外,有一点需要注意,您是否可以不使用con、ctx和AuthModel等变量,而使用全名,即authenionmodel、XProject、connection、context、dataSource等等

我无法解决DataSource的问题,但我使用BasicDataSource解决了这个问题,现在它可以完美地工作了

我无法解决DataSource的问题,但我使用BasicDataSource解决了这个问题,现在它可以完美地工作了

@Brian Roach,我读到了,问题应该是依赖关系。@Brian Roach,我读到了,问题应该是依赖关系。当我使用javax.sql时,它不起作用。*它表明导入未使用,当我使用javax.sql.DataSource时,它要求依赖关系,但是我已经在mavendo上添加了依赖项,您需要在依赖项列表中添加
javax.sql.DataSource
?当我使用javax.sql时,它不起作用。*它显示导入未使用,当我使用javax.sql.DataSource时,它要求依赖项,但是我已经添加了对mavendo的依赖,您需要在依赖项列表中添加
javax.sql.DataSource