Home
Main website
Display Sidebar
Hide Ads
Recent Changes
View Source:
JavaNotes
Edit
PageHistory
Diff
Info
LikePages
You are viewing an old revision of this page.
View the current version
.
Notes for [Java] / [javac] users. (''I use [Java] as a better [C++] and don't use any of the awt/swing stuff, so I can't help there, sorry''---StuartYeates) !!!Makefile rules make(1) and [Java] don't play very well together, because unless you're careful you end up starting a new VirtualMachine for every file you want to compile (see the 'classes' target below for a complete hack). Remember that tabs and spaces get confused when cutting and pasting (see MakeFile). JAVAC=javac JAVACOPTIONS= -g:none -O #make a .class file from a .java file %.class: %.java $(JAVAC) $(JAVACOPTIONS) $< # JAVACC stuff #name/location of javacc executable JAVACC=/home/say1/bin/javacc #javacc options JAVACCOPTIONS=-SANITY_CHECK=true -FORCE_LA_CHECK=true -DEBUG_PARSER=true -DEBUG_TOKEN_MANAGER=true # build a java file from a JavaCC file %.java: %.jj $(JAVACC) $(JAVACCOPTIONS) $< # a target that builds all the .java files in sight classes: $(JAVAC) $(JAVACOPTIONS) *.java */*.java */*/*.java !!! Tool support # JavaDoc is your friend. # [Ant] is your friend. # JavaDeps is your friend. !!!Errors Sometimes [javac]/[Java] complains that it can't find files which are plainly there or complains that they're in the wrong place. This is almost always a classpath or a package interaction problem. If the file is not in a package and is in the current directory: #Check that the current directory is in the classpath #Check whether you need to specific !ClassName or !ClassName.java #Check spelling. Spelling matters. If the file is in a package: #Check the above points #Check that the the file is in "/some/path/to/a/dircetory/some/package/heirarchy/!ClassName.java" and is called "!ClassName" and in "/some/package/heirarchy/" package #Check that "/some/path/to/a/dircetory/" is in the the classpath #Check that the current directory is not in the classpath #Check the package name again ---- UserSubmittedNotes
2 pages link to
JavaNotes
:
Java
UserSubmittedNotes