如何创建Java包以及如何将它们导入到另一个包中?

如何创建Java包以及如何将它们导入到另一个包中?,java,packages,Java,Packages,我是java新手,我尝试从另一个导入包,但另一个不会编译,因为它说在这里找不到第一个包,这就是我所做的: 第一包代码: package sagar.sql; import java.sql.Connection; import java.sql.SQLException; import oracle.apps.bne.exception.BneException; import oracle.apps.bne.framework.BneWebAppsContext; import oracl

我是java新手,我尝试从另一个导入包,但另一个不会编译,因为它说在这里找不到第一个包,这就是我所做的:

第一包代码:

package sagar.sql;

import java.sql.Connection;
import java.sql.SQLException;

import oracle.apps.bne.exception.BneException;
import oracle.apps.bne.framework.BneWebAppsContext;
import oracle.apps.bne.utilities.sql.BneBaseSQL;

public class SagarSupplierSiteNameSQL extends BneBaseSQL {
public SagarSupplierSiteNameSQL(BneWebAppsContext paramBneWebAppsContext, 
                                String paramString) throws SQLException, 
                                                           BneException {
    Connection connection = paramBneWebAppsContext.getJDBCConnection();
    StringBuffer stringBuffer = new StringBuffer();

    stringBuffer.append("SELECT PARTY_NAME,ACCOUNT_NUMBER,LOCATION  WHERE org_id = 281 AND ACCOUNT_NUMBER = :1");


    if ((paramString != null) && (!paramString.trim().equals(""))) {
        stringBuffer.append("AND " + paramString);
    }

    //stringBuffer.append(" ORDER BY VENDOR_SITE_CODE, ADDRESS ");

    setQuery(connection, stringBuffer.toString());
  }
}
第二组代码:

package sagar.validator;


 import java.util.Hashtable;

 import oracle.apps.bne.exception.BneException;
 import oracle.apps.bne.exception.BneFatalException;
 import oracle.apps.bne.exception.BneMissingParameterException;
 import oracle.apps.bne.framework.BneWebAppsContext;
 import oracle.apps.bne.integrator.validators.BneUploadValidator;
 import oracle.apps.bne.utilities.sql.BneCompositeSQLCriteria;
 import oracle.apps.bne.utilities.sql.BneResultSet;
 import oracle.apps.bne.utilities.sql.BneSQLStatement;

 import sagar.sql.SagarSupplierSiteNameSQL;

public class SagarSupplierSiteNameValidator extends BneUploadValidator {

public String[] getDomainParameters() {
    return new String[] { "P_CUST_NUM" };
}

public BneResultSet getDomainValues(BneWebAppsContext paramBneWebAppsContext, 
                                    Hashtable paramHashtable, 
                                    BneCompositeSQLCriteria paramBneCompositeSQLCriteria) throws BneException {

    SagarSupplierSiteNameSQL sagarSupplierSiteNameSQL = null;
    BneResultSet bneResultSet = null;
    BneSQLStatement bneSQLStatement1 = new BneSQLStatement();

    if (paramBneCompositeSQLCriteria != null) {
        bneSQLStatement1 = 
                paramBneCompositeSQLCriteria.evaluate(bneSQLStatement1);
    }

    String str1 = (String)paramHashtable.get("P_CUST_NUM");

    if (str1 == null) {
        throw new BneMissingParameterException("Customer Number Field Error");
    }


    try {
        sagarSupplierSiteNameSQL = 
                new SagarSupplierSiteNameSQL(paramBneWebAppsContext, 
                                             bneSQLStatement1.getStatement());
        BneSQLStatement bneSQLStatement2 = 
            new BneSQLStatement(sagarSupplierSiteNameSQL.getQuery(), 
                                new Object[] { str1 });

        bneSQLStatement2.append("", bneSQLStatement1.getBindValues());
        bneResultSet = 
                sagarSupplierSiteNameSQL.getBneResultSet(bneSQLStatement2.getBindValuesAsArray());
    } catch (Exception exception) {
        throw new BneFatalException(exception.toString());
    }


    return bneResultSet;
}


}
终点站:

-bash-3.00$ javac /apps/DEV/apps/apps_st/comn/java/classes   
/SagarSupplierSiteNameSQL.java -d "$JAVA_TOP/sager/sql"
-bash-3.00$     
-bash-3.00$ 
-bash-3.00$ 
-bash-3.00$ 
-bash-3.00$ javac /apps/DEV/apps/apps_st/comn/java/classes   
/SagarSupplierSiteNameValidator.java -d "$JAVA_TOP/sager/validator"
/apps/DEV/apps/apps_st/comn/java/classes   
/SagarSupplierSiteNameValidator.java:15: package sagar.sql does not exist
import sagar.sql.SagarSupplierSiteNameSQL;
            ^
/apps/DEV/apps/apps_st/comn/java/classes   
/SagarSupplierSiteNameValidator.java:27: cannot find symbol
symbol  : class SagarSupplierSiteNameSQL
location: class sagar.validator.SagarSupplierSiteNameValidator
    SagarSupplierSiteNameSQL sagarSupplierSiteNameSQL = null;
    ^
/apps/DEV/apps/apps_st/comn/java/classes   
/SagarSupplierSiteNameValidator.java:45: cannot find symbol
symbol  : class SagarSupplierSiteNameSQL
location: class sagar.validator.SagarSupplierSiteNameValidator
                new SagarSupplierSiteNameSQL(paramBneWebAppsContext, 
                    ^
`3 errors

如果您需要有关我面临的问题的更多信息,请询问我,并请帮助我。

由于您使用交叉导入,因此这些文件不会单独编译。您必须一次编译所有文件

而且,您的类不在它在java文件顶部所说的包中。移除
包sagar.validator
包sagar.sql,然后运行以下命令:

javac /apps/DEV/apps/apps_st/comn/java/*.java
如果要使用软件包,请移动
SagarSupplierSiteNameSQL.java
文件夹中
/apps/DEV/apps/apps\u st/comn/java/sagar/sql

SagarSupplierSiteNameValidator.java
内部
/apps/DEV/apps/apps\u st/comn/java/sagar/validator

进入
/apps/DEV/apps/apps\u st/comn/java
中,以下两个命令中的任何一个都可以工作

javac  **/*.java 


当我使用这两个命令时,它工作得非常好:

  javac /apps/DEV/apps/apps_st/comn/java/classes/SagarSupplierSiteNa‌​meSQL.java -d "$JAVA_TOP" 


它创建了包的目录自动感谢@Pankaj Singhal因为你的重播引导了我

非常感谢你的快速重播我将测试解决方案并返回反馈我的分数低于15分当我得到15分时我会投票确定感谢Aloty你不应该接受你自己的答案,只是提到一些其他人的回答帮助了你。你应该接受回答你的问题并帮助你的答案。这就像独裁者在制造。
  javac /apps/DEV/apps/apps_st/comn/java/classes/SagarSupplierSiteNa‌​meSQL.java -d "$JAVA_TOP" 
 javac /apps/DEV/apps/apps_st/comn/java/classe/SagarSupplierSiteNa‌meValidator.java -d "$JAVA_TOP"