Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <20020211223949.70868.qmail@web13401.mail.yahoo.com> Date: Mon, 11 Feb 2002 14:39:49 -0800 (PST) From: wally liau Subject: Re: HELP: java path and classpath question To: Randall R Schulz , cygwin AT cygwin DOT com In-Reply-To: <5.1.0.14.2.20020211105436.024f3b00@pop3.cris.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii He Randall, thanks a lot for the message. The java compiler I am using is called generic java (with extended utility classes, see http://www.research.avayalabs.com/user/wadler/pizza/gj/and http://developer.java.sun.com/developer/earlyAccess/adding_generics/). those environment variables and alias are set in .bashrc. "gjc" is supposed to compile java source files containing templates into stardard class files. I am confused with cygwin- and window-style paths. A simple question is which style to use in order to invoke window java vm, and if window-style path is the one to be used, how to put it in a file like .bashrc. Thanks again. I think you are right about --- Randall R Schulz wrote: > Wally, > > [ For those of us doing Java programming under > Cygwin, this has become a > FAQ and there are messages in the Cygwin mail > archive that cover it. ] > > > Please give us more information about what happens. > Specifically, what > commands are you issuing. Tell us what program > you're invoking (since your > alias invokes the "java" command via the PATH, tell > us what PATH is so we > know which java command is being executed). Tell us > what error message(s) > result. > > > After I see through the confusing names that suggest > that you're using the > Gnu Java Compiler (which, as far as I know, is not > yet available for > Cygwin), it appears that at least part of your > problem (quite possibly all > of it) is that you're using POSIX-style class-path > syntax when in fact > you're invoking a Windows Java VM and hence must use > a Windows-style > class-path (semicolons separating the components and > Windows-style full > names, not Cygwin / POSIX -style). This applies both > to the CLASSPATH > environment variable and the various file name and > class-path arguments to > the JVM / JRE and Java compiler (all the Sun JDK and > / or JRE executables, > in fact). > > If you're unaware of how to accommodate this, look > into the "cygpath" > command. It translates path names between POSIX and > Windows formats. It can > operate on an individual file name or PATH > variable-like strings. There's > no man page, use "cygpath --help". > > For your own convenience, I suggest you write some > wrapper scripts that > obscure the need for Windows file name and path > formats by transforming > Cygwin-style arguments to their Windows equivalents > for you. Otherwise your > makefiles and other build scripts lose their > portability to other POSIX > environments. I use a generic script that I link > (hard or symbolic) to a > file with the same name as the target command. That > way I achieve complete > transparency and / or compatibility with native > POSIX environments such as > Solaris, Linux or *BSD and need only make a new link > should a new tool be > added to the Java SDK. > > Randall Schulz > Mountain View, CA USA > > > At 10:45 2002-02-11, wally liau wrote: > >I am having a problem compiling generic java source > file with following > >settings: > > > >alias gjc='java -ms12m gjc.Main -bootclasspath > >$GJ_HOME/classes:/cygdrive/c/jdk1.3.1_01/jre/lib/rt.jar:/cygdrive/c/jdk1.3.1_01/jre/lib/i18n.jar' > > > > > >export JAVA_HOME=/cygdrive/c/jdk1.3.1_01 > >export GJ_HOME=/cygdrive/c/Programs/gj > > > >The error messages show that cygwin can't find java > class (eg, it can't > >find String class). However, compiling stardard > java code using "javac" > >works fine. I guess there may be some problems with > how to set up paths > >and hope someone out there could help me to fix it. > Thanks a lot. > __________________________________________________ Do You Yahoo!? Send FREE Valentine eCards with Yahoo! Greetings! http://greetings.yahoo.com -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/