Managing java files and packages
Hi,
I am just starting out with java and have reached the stage where I want to store my files in packages and the correct directory structure. I have read through the sun link below and have a question they seam to miss. They say that .java and .class files should be kept in separate places. ie sources and classes directories with the package directory names below. But I have found that unless you have the .class files you are referencing in the same directory as the .java files when you come to compile you will get an error so they have to be stored in the same directory???.. Does this make sence or have I gotten it all wrong.
Thanks
Joolz
http://java.sun.com/docs/books/tutorial/java/interpack/managingfiles.html
You should put path containing your classes in your classpath. There is a -classpath option in javac.
Similar Messages
-
Revision: 10059
Author: [email protected]
Date: 2009-09-08 11:31:48 -0700 (Tue, 08 Sep 2009)
Log Message:
update two package-info.java files, and add one new one.
Modified Paths:
blazeds/trunk/modules/proxy/src/flex/messaging/services/http/proxy/package-info.java
Added Paths:
blazeds/trunk/modules/core/src/flex/messaging/util/concurrent/package-info.java
blazeds/trunk/modules/core/src/flex/messaging/validators/package-info.javaRevision: 10059
Author: [email protected]
Date: 2009-09-08 11:31:48 -0700 (Tue, 08 Sep 2009)
Log Message:
update two package-info.java files, and add one new one.
Modified Paths:
blazeds/trunk/modules/proxy/src/flex/messaging/services/http/proxy/package-info.java
Added Paths:
blazeds/trunk/modules/core/src/flex/messaging/util/concurrent/package-info.java
blazeds/trunk/modules/core/src/flex/messaging/validators/package-info.java -
In our current application we have the following source directory structure:
src -
- com
- edeploy
- subdirs ... (many directories here)
- jsp
-subdirs ... (many directories here)
In com.edeploy.subdirs, there exists *.java files, and *.gxq files (query
files). I would like to modify my build.cmd script to copy the *.gxq files
into the same directory as the class files.
Here's my script so far:
@REM Create list of files to compile
DIR /S /B /A:-D src\com\*.java >class.list
@REM Create list of query files
DIR /S /B /A:-D src\com\*.gxq >query.list
@REM Compile
javac -d stage\WEB-INF\classes @class.list
@REM Copy query files into class directory
.......... code needed here ......
Can anyone help me with this?
Thanks,
Matt
You may want to check out:
http://jakarta.apache.org/ant/index.html
Gary
"Matt Raible" <[email protected]> wrote in message
news:[email protected]..
> In our current application we have the following source directory
structure:
>
> src -
> - com
> - edeploy
> - subdirs ... (many directories here)
> - jsp
> -subdirs ... (many directories here)
>
>
> In com.edeploy.subdirs, there exists *.java files, and *.gxq files (query
> files). I would like to modify my build.cmd script to copy the *.gxq
files
> into the same directory as the class files.
>
> Here's my script so far:
>
> @REM Create list of files to compile
> DIR /S /B /A:-D src\com\*.java >class.list
>
> @REM Create list of query files
> DIR /S /B /A:-D src\com\*.gxq >query.list
>
> @REM Compile
> javac -d stage\WEB-INF\classes @class.list
>
> @REM Copy query files into class directory
> .......... code needed here ......
>
> Can anyone help me with this?
>
> Thanks,
>
> Matt
>
>
-
Open module for managing property file and environment variables
Looking for an open module for managing property files and environment variables (like CLASSPATH) set in a shell script. For handeling properties (preserving comments, supporting includes, appending new entries, and more) I have looked at SuperProperties from openadaptor but find certain functionality lacking. As for interfacing with common shell scripts/files containing setting for CLASSPATH, JAVA_HOME, other system/application variables another type of object editor is needed. Maybe JFIG?
Any ideas are greatly welcomed.You seem wright, you hit a brick wall here with Air to find the location
of the command console on windows...
So in fact I never build an exe tool, but this little problem was a nice
case to test it and I tried it.:
I downloaded monodevelop
-GTK# for .NET 2.12.10*
-MonoDevelop 2.4.2*
from http://monodevelop.com/Download
created a console project and had an exe in 5 minutes !
You can download the findconsole tool and the projectfiles here:
http://greencollective.nl/temp/dump/findconsole_monoproject.zip
findconsole.exe will reveal the path/location of cmd.exe on a windows system.
Cheers,
Latcho -
How to compile other java files and run them from my own programs?
I'm developing a unit testing tool for AspectJ, which can originally generate the stubs for aspect unit to be tested. All these stubs are java files. After generation of stubs, how can I program the code to compile this unit together with these stubs, i.e. how can I put the functionality of compilation and run, e.g. command "javac *.java" and "java *", into my own code.
Hope you can understand what I mean.
Thank you in advance.When I use Runtime.getRuntime().exec(command) for executing the AspectJ compile command "ajc", "IOException createProcess error=2" always occurs, while it is ok for Java comiple command "javac".
Why this happens when I use Runtime.getRuntime().exec("ajc Hello.java Test.aj")? Is it the reason that Runtime.exec(String) may not support any command in DOS?
(ajc is the compile command for the java file and aj file.)
Thank you in advance. -
Latest version of Lightroom will not download RAW files from my D750. How does one get around this? Bought Lightroom for it's ability to manage RAW files and now very disappointed.
Here is the contents of a batch file which will convert whatever raws you drop on it:
"C:\Program Files (x86)\Adobe\Adobe DNG Converter" -cr7.1 -dng1.4 -p0 %*
Once you download the latest converter (release candidate from adobe labs, if necessary), and save the appropriate contents of the batch file (change path to match your system, and parameters to match your druthers, if applicable), the procedure is:
1. Drop raw files on bat file.
2. Import as usual (the DNGs).
Not too bad once you're set up (if DNG converter supports your raws).
Documentation:
http://wwwimages.adobe.com/content/dam/Adobe/en/products/photoshop/pdfs/dng_commandline.pd f
Note: on Mac, you may need to use "$@" (with the double-quotes) instead of %* (which is dos batch syntax), and you will need to use the full path to the converter executable file, e.g.
“/Applications/Adobe DNG Converter.app/Contents/MacOS/Adobe DNG Converter”
If too much, just use the GUI instead of the bat file.
Rob -
Managing JAVA JDK and JRE with Package Management in Solaris 11.1
I want to manage Java JDK & JRE in an Solaris environment using Package Management I'm currently running Solaris 11.1 in a VMWare host. My current latest Java release is JDK1.7.0_07 and JRE1.7.0_07. I want to upgrade to JDK1.7.0_17 & JRE1.7.0_17 using Package Management. I've tried on several occasions to upgrade to latest release of Java but I have not been successful. Each time I try using the Package Management GUI or use command line they appear to be successful but the new release does not show.
What could I be doing wrong?
ThanksI also learned that the READMEs for the following patches in My Oracle Support also describe the downgrave process:
Patch 18362676: JAVA 6 DOWNGRADE INCORPORATION FOR ORACLE SOLARIS 11.1.15.4.0 AND 11.1.16.5.0
Patch 18362686: JAVA 7 DOWNGRADE INCORPORATION FOR ORACLE SOLARIS 11.1.15.4.0 AND 11.1.16.5.0
-- Alan -
Import statement in .java files and .jsp files
Guys I have few mysteries about this import statement.
Please correct me if I am wrong.
1)Suppose if I have a folder c:\SourceFolder it has one.java and two.java files.If I compile one.java then one.class files is created in c:\ClassFolder .Now two.java uses one of the method of one.java,and without using import statement I am able to compile two.java, and two.class file is created in c:\ClassFolder.I assume that the path of one.class was taken from the CLASSPATH environment variable,hence I there was no need for import statement .........am i right ?
BUT... in My.jsp,which is in C:\JspFolder, if I want to use one.class,then I have to specifically import the class I want to use.That is i have to say
<%@page import="one"%>
and since the classpath is C:\ClassFolder ,it finds one.class in the C:\ClassFolder.(Note that My.class is created in a folder different from c:\ClassFolder )
But I am wondering why was there no need for me to import one.class in two.java.
(Note I am using JDeveloper and Apache server)
Please help.
In this case the pSo I am wondering in JSP why it doesn't take the class I am looking for from the classpath .
Help.You have to understand Java scoping rules. In the 1st scenario with the two Java files I am guessing neither one of them begins with a package statement. This means that they belong to the default package. When you compile the compiler uses the classpath to resolve method calls looking in the default package since there was no import statement specified in two.java. JSP is a little different. Now I just read this here in these forums a couple of days ago. Since the classfiles generated from the JSP files are not in the CLASSPATH they are loaded by a different classloader. This is why you have to import all references to all classes in the default package.
-
Import statement in .java files and .jsp files ..correction
Guys I have few mysteries about this import statement.
Please correct me if I am wrong.
1)Suppose if I have a folder c:\SourceFolder it has one.java and two.java files.If I compile one.java then one.class files is created in c:\ClassFolder .Now two.java uses one of the method of one.java,and without using import statement in two.java I am able to compile two.java, and two.class file is created in c:\ClassFolder.I assume that the path of one.class was taken from the CLASSPATH environment variable,hence I there was no need for import statement .........am i right ?
BUT... in My.jsp,which is in C:\JspFolder, if I want to use one.class,then I have to specifically import one.class in My.jsp .That is i have to say
<%@page import="one"%>
in My.jsp.
and since the classpath is C:\ClassFolder ,it finds one.class in the C:\ClassFolder and MyJsp is compiled sucessfully.(Note that My.class is created in a folder different from c:\ClassFolder )
But I am wondering why was there no need for me to import one.class in two.java.
(Note I am using JDeveloper and Apache server)
Please help.It has to do with packages. Most java classes are in a package, the name of which must conform to its place on the filesystem relative to the classpath. By that I mean that if you have com.mystuff.One.java, it must be in a folder com/mystuff where com is located somewhere in the classpath.
What you've done is a little different. I'm assuming a couple of things:
1. you have no package declaration at the top of one.java or two.java
2. you have the current directory "." in your classpath.
Java has the concept of the "default package", which covers classes without a declared package, and in your case is the current directory.
So when you're in c:\sourcefolder and run the compiler, then "."="c:\sourcefolder", and that directory is part of the default package. No import statements are necessary for classes that are in the same package. This is why two.java can call methods in one.java without an import statement.
When you run your jsp, the "current directory" part of your classpath is not c:\sourcefolder, but some other value (probably the directory you start your jsp engine from) You will have to import all non-java-library classes because the jsp itself becomes a java class, with a package that is determined by the jsp engine. -
I am to create a link verification program -- a simple java file with the database connection & some business logic and a JSP page that instantiates the my java file. It won't work. Everytime I run the jsp page, it gives me java.lang.NullPointerException. Can anyone give me some directions? The web server I am using is JRun.
Thank you
Below are my code:
JSP Page:
<%-- Verify Links
--%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%@ page import="java.sql.*" %>
<%@ page import="java.net.*" %>
<%@ page import="pro.*" %>
<html>
<head>
<title>Results</title>
</head>
<body>
<%
try{
LinkConnection newconn = new LinkConnection();
newconn.initialize();
newconn.query();
newconn.close();
}catch (ClassNotFoundException cnfe)
out.println(cnfe);
catch (SQLException sqle)
out.println(sqle);
catch (NullPointerException npe)
out.println(npe);
%>
</body>
</html>
Java Code:
package pro;
import java.io.*;
import java.sql.*;
import java.net.*;
public class LinkConnection {
Connection con;
ResultSet RS;
Statement Stmt;
public void initialize() throws SQLException, ClassNotFoundException
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection("XXXX", "XXXX", "XXXX");
public void query() throws SQLException
Statement Stmt=con.createStatement();
String strSQL="Select guideline_name, guideline_url from pgt_guidelines";
ResultSet RS=Stmt.executeQuery(strSQL);
while (RS.next())
String guidelinename = RS.getString("guideline_name");
String guidelineurl = ("http://" + RS.getString("guideline_url"));
try {
URL url = new URL(guidelineurl);
HttpURLConnection link=(HttpURLConnection)url.openConnection();
System.out.println("<font color='blue'>");
System.out.println(guidelinename);
System.out.println("<br>");
System.out.println(guidelineurl);
System.out.println("</font>");
System.out.println("<font color='red'>");
System.out.println(link.getResponseCode());
System.out.println("</font>");
System.out.println("<br />");
}catch (Exception e)
{System.out.println("<font color='yellow'>Error Link </font>")
public void close() throws SQLException {
RS.close();
Stmt.close();
con.close();i'm having the same problem, what is the solution to this
A Servlet Exception Has Occurred
java.lang.NullPointerException
at test.Lesson.runSql(Lesson.java:80)
===== Lesson.java file =====
package test;
import java.sql.* ;
import java.io.Serializable;
public class Lesson {
public Lesson( ) { }
//Line 9
public String runSql ( ) {
String browserOutput = "";
Connection sqlca = null;
Statement sqlStatement = null;
ResultSet myResultSet = null;
//Line 16
/* Connect to database, run SQL and produce output */
try {
/* Connection to the database */
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String theDatabase ="jdbc:mysql://localhost/employee";
sqlca = DriverManager.getConnection(theDatabase,"usr","pwd");
//Line 24
/* Construct and execute the sql, positioning before the
first row in the result set */
sqlStatement = sqlca.createStatement();
myResultSet = sqlStatement.executeQuery
//Line 29
("select emp_id, " +
"emp_lname, " +
"city, " +
"state," +
"zip_code, " +
"emp_fname " +
"from employee " +
"where emp_id < 250 " +
"order by emp_lname, emp_fname");
//Line 39
/* Construct the heading for the table */
browserOutput =
"<div align=left>"+
"<table border=0 align=left width=520>" +
"<caption><i><b>" +
"Employee Listing</b></i></caption>" ;
//Line 46
/* Construct the column headings for the table */
browserOutput +=
"<th align=left>Emp_id</th>" +
"<th>First Name</th>" +
"<th>Last Name</th>" +
"<th>City</th>" +
"<th>State</th>" +
"<th>Zip</th>" ;
//Line 55
/* Move to next row and & its contents to the html output */
while(myResultSet.next()) {
browserOutput += "<TR><TD>" +
myResultSet.getObject("emp_id").toString() + "</TD><TD>" +
myResultSet.getObject("emp_fname").toString()+"</TD><TD>" +
myResultSet.getObject("emp_lname").toString() + "</TD><TD>" +
myResultSet.getObject("city").toString() + "</TD><TD>" +
myResultSet.getObject("state").toString() + "</TD><TD>" +
myResultSet.getObject("zip_code").toString() + "</TD></TR>" ;
//Line 66
}//end of while
sqlStatement.close();
sqlca.close();
}//end of try
catch (SQLException e) {
//Line 72
browserOutput = " Error: SQLException: " + e.getMessage();
browserOutput= " Error: SQLState: " + e.getSQLState();
browserOutput= " VendorError: " + e.getErrorCode();
}//end of SQLException
catch (Exception e) {
browserOutput = " Error: JDBC Class creation: " + e.getMessage();
}//end of Exception
/**Line 80**/ finally {
try { sqlca.close(); }
catch(SQLException e) {
browserOutput = " Error: Closing connection: " + e.getMessage();
}//end of finally
/* Complete the html and return it to the Java Server Page */
browserOutput += "</table>" + "</div>" ;
return browserOutput;
} //end of runSql
}//end of Lesson -
Using Runtime exec() method to run java files and return runtime errors
Hi
I'm writing a java editor and I use
Runtime.getRuntime().exec(command)
to compile the java files. That works fine and I deal with the returned errors using the getErrorStream().
My questions are:
1. Can I use the same technique for returning runtime errors. In any posts I've read the process runs from begining to end, returning the errors after completion. How do I return the errors of the app as they happen interactively?
2. If i cant use the exec and getErrorStream() methods then does anyone know how it is done?
Thanks in advance for any help!Read this:
http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html
MOD -
Converted WSDL into .java-files - and now?
I should implement a client for an existing web service. All I have is a .wsdl-file of the web service to call.
Therefore I used the eclipse's functionality to convert .wsdl into .java files, which generated some files for me, for example:
- interface XXX extending java.rmi.Remote
- interface XXXService extends javax.xml.rpc.Service
- class XXXProxy implements XXX
- class XXXServiceLocator extends org.apache.axis.client.Service
- class XXXSoapBindingStub extends org.apache.axis.client.Stub implements XXX
- class XXXRfcException extends org.apache.axis.AxisFault implements java.io.Serializable
- class XXXRfcExceptions implements java.io.Serializable
My question... what to do now? How can I get the service and call its functionality?
Your help is really, REALLY appreciated...Hi,
Write client application like below.
public class Client{
public static void main(String [] args) throws Exception {
// Make a service
XXXService service = new XXXServiceLocator();
// Now use the service to get a stub which implements the SDI.
AddressBook port = service.getAddressBook();
// Make the actual call
Address address = new Address(...);
port.addEntry("Russell Butek", address);
Thanks&Regards,
M.Kumaraswamy. -
Unable to add java files with package statement
Hi all,
I have the following problem. I add to my project(JBuilder8) a set of java files that
they have in their headers the statement...
package jp.gr.java_conf.tame.swing.table;except one with statement...
package jp.gr.java_conf.tame.swing.colorchooser;If i try to compile the project i get the following message many times for
each file...
"AttributiveCellRenderer.java": Error #: 901 : package
jp.gr.java_conf.tame.swing.table stated in source
C:\Development\JBProjects\cellspan\AttributiveCellRenderer.java does not
match directory . at line 4, column 36What i have to do to embed correctly the java files?
Thank you for advance, kostas.Sounds like your source file is in the wrong directory. The directory the file's in has to match the package.
-
Data in .jsp or HTML form fields, to a JAVA File and DB
Hi,
I am new to the JAX-RS, I have a form where I fill in some details, There is a submit button towards the bottom of that form, when I click submit, it needs to do two actions:
1) Pass the data in different fields through different variables to into a JAVA file. I am not sure on how to call a JAVA file or program's method from either .HTML or .JSP
2) Extract the data from the fields and populate a DB through JDBC Connection
Your help is greatly appreciated!
Thanks,If you're looking for some to write the code for you, you're in the wrong place. If you've tried to write it yourself, but are stuck on an error message, logic issue, or something similar, feel free to ask a question!
If you submit code, don't forget to use the code tags. If you submit an error message, be sure to copy the entire message and stack trace. -
Difference between jar file and package?
What is difference between a package and jar?
Is a jar a package? or is package jar?
If I say
package pink;
does it mean pink is folder or jar?
what if I say import pink.rose;
does it import jar file with the rose class inside it?These two concepts are unrelated. A jar file is nothing more than a zip file of class files and other related resources, which you can use to 'bundle' your application for ease of deployment. Th use of zip files is not mandatory.
Packages on the other hand, are a means of 'packaging' parts of an application or library in their own namespace, generally for reasons program structure, and to avoid naming collisions. A bunch of classes in a package will be compiled into a bunch of class files, on a one-to-onwe basis (one file per class).
You may chose to 'bundle' those and other classes into a jar file.
Maybe you are looking for
-
Iphone4s wont connect to itunes since ios6 update
my iphone 4s wont connext to itunes on my mack since the ios6 update when my itunes is up to date it still says i need to update when none are available, ive tried restarting both nothing works help please. my itunes is 10 and fully updated
-
I am using a couple of Airport Expresses to stream music into different rooms. They are connected via ethernet. It works really well running from my PC and also the Remote App. I now want to add a third Airport Express into my living room to hook up
-
Is it possible to make the body tag of a template editable?
I'm having diffuculty with making the body tag an editable region in the template. I need to add some onload stuff to a body tag on a page derived from a template. I am not sure if this is possible. And if it isn't does anyone know a workaround? Than
-
GROSS CURRENT LENGTH field in Product view
Hi Experts, For checking the details of product when i go in RRP3 tcode and in that i double click on a Purchase order and then go in activities details i can see the CUR.LENGTH.DL field ie Gross Current length which has a technical field name as PT_
-
Display subtotal in General Ledger Accounting details
Hi all Our client has a request to have a default setting for the option to display subtotal to print only Yearly results in General Ledger Accounting Report? Currently the Display Subtotal by Daily and Monthly are always selected. It is too slow w