禁止使用的包名称:java
我试图从我的数据库名jaane中获取数据,用户名为Hello,密码为Hello。 错误: 我的代码是禁止使用的包名称:java,java,package,Java,Package,我试图从我的数据库名jaane中获取数据,用户名为Hello,密码为Hello。 错误: 我的代码是 package java; import java.awt.Container; import java.sql.DriverManager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import
package java;
import java.awt.Container;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
/**
*
* @author ritesh
*/
public class Main extends JFrame{
public Main() throws SQLException
{super("Database of Students");
try {
Class.forName("org.apache.derby.jdbc.ClientDriver");
} catch (ClassNotFoundException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
Connection connection = DriverManager.getConnection( "jdbc:derby:/localhost:1527","hello","Hello" );
Statement statement = connection.createStatement();
// query database
ResultSet resultSet =
statement.executeQuery( "SELECT * FROM COLLEAGUES" );
StringBuffer results = new StringBuffer();
ResultSetMetaData metaData = resultSet.getMetaData();
int numberOfColumns = metaData.getColumnCount();
for ( int i = 1; i <= numberOfColumns; i++ ) {
results.append( metaData.getColumnName( i ) + "\t" );
}
results.append( "\n" );
while ( resultSet.next() ) {
for ( int i = 1; i <= numberOfColumns; i++ ) {
results.append( resultSet.getObject( i ) + "\t" );
}
}
// close statement and connection
statement.close();
connection.close();
// set up GUI and display window
JTextArea textArea = new JTextArea( "Hello");
Container container = getContentPane();
container.add( new JScrollPane( textArea ) );
setSize( 300, 100 ); // set window size
setVisible( true ); // display window
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try {
Main window = new Main();
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// TODO code application logic here
} catch (SQLException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
您需要指定数据库名称,localhost前面有两个斜杠。我假设hello是你的用户名,hello是密码
Connection connection = DriverManager.getConnection( "jdbc:derby://localhost:1527/DatabaseName","hello","Hello" );
…这是在您将包名更改为java以外的名称之后
java.lang.SecurityException: Prohibited package name: java
不能使用java作为包的名称。将其替换为其他内容。更改包名。禁止使用java作为包名
编辑:将Main.java文件移动到不以java或javax开头的源目录中,并使用目录结构名称更改代码中的包名。查看
绝不允许用户代码将类放入标准Java包中。这样,用户代码就无法访问Java实现中的任何包私有类/方法/字段。其中一些包私有对象允许访问JVM内部。我特别想到了共享秘密
永远不要将类作为java保存在根包中,或者永远不要创建以java开头的包。。。您可以使用任何其他标识符作为包名 如果您的项目是由Gradle发起的,我建议您通过指定包名来更改项目,这样我们就可以避免这个问题
gradle init --type java-application --test-framework junit --package packname
我只是犯了同样的错误。以前,包名称如下所示:
package java.com.transaction.statistics.controllers;
package com.transaction.statistics.controllers;
这是由于错误而创建的
我已更正,程序包如下所示:
package java.com.transaction.statistics.controllers;
package com.transaction.statistics.controllers;
现在可以了,没有显示任何错误。@Raghu:编辑你的问题,而不是答案。