Java do not compile generics

declaration:
ListUtil.java
public static <T, F extends T, E extends T> List<T> addAll(List<F> list1, List<E> list2) {
List<T> ret = new ArrayList<T>();
if (list1 != null) {
for (F f : list1) {
ret.add(f);
if (list2 != null) {
for (E e : list2) {
ret.add(e);
return ret;
usage:
List&lt;B&gt; bb = new ArrayList&lt;B&gt;();
List&lt;C&gt; cc = new ArrayList&lt;C&gt;();
List&lt;AAbstract&gt; ret = ListUtil.addAll(compounds, sensors);
error:
[javac] SensorInstanceMgmt.java:1113: <T,F,E>addAll(java.util.List<F>,java.util.List<E>) in util.ListUtil cannot be applied to (java.util.List<entity.B>,java.util.List<entity.C>)
[javac] List<AAbstract> ret = ListUtil.addAll(compounds, sensors);
It works in eclipse, but compiling by ant do not. I suspect some switch of javac - but do not know which.
Of course eclipse and ant uses same javac, it has set same java, javac.target, javac.source as well.
So why I compile with ant? I mention about ant but same situation will be with invoking javac from outside eclipse.
Edited by: 802651 on 2010-10-14 23:19
Edited by: 802651 on 2010-10-22 06:03

Different compilers handle generics slightly differently. Sun's compiler tends to a bit dumb when it comes to inferred types. I suggest you try the following which may help, or get a clearer error message.
List<AAbstract> ret = ListUtil.<AAbstract>addAll(compounds, sensors);
BTW: what is wrong with the List.addAll() method?
public static <T, F extends T, E extends T> List<T> addAll(List<F> list1, List<E> list2) {
    List<T> ret = new ArrayList<T>();
    if (list1 != null) ret.addAll(list1);
    if (list2 != null) ret.addAll(list2);
    return ret;
}

Similar Messages

  • Java files not compiling

    i have 3 java files that im trying to compile for my CS class:
    IntCalc.java
    IntCalcPanel.java
    IntCalcGUI.java
    the panel uses IntCalc for an object and the GUI uses the panel as an object.
    i cannot compile the panel or the GUI in the command prompt because it says
    IntegerCalculatorPanel.java:17: cannot find symbol
    symbol : class IntegerCalculator
    location: class IntegerCalculatorPanel
    IntegerCalculator calc = new IntegerCalculator();
    ^
    IntegerCalculatorPanel.java:17: cannot find symbol
    symbol : class IntegerCalculator
    location: class IntegerCalculatorPanel
    IntegerCalculator calc = new IntegerCalculator();
    ^
    2 errors
    even though all three files are in the same directory
    these files WILL compile if i use an IDE. i tried jGRASP and they compile and run fine.
    what do i do to fix this?
    (xp pro)

    For classpath, you can shorten the word to "-cp", I
    believe (it doesn't work on our Java at work, becauseNo, that will not work in this case!
    -cp only works on the java command (to execute Java programs), not on javac (the compiler). Stupid, isn't it?
    Make sure that your CLASSPATH environment variable is not set - that will make Java use the current directory as the default, and you won't have to type "-classpath ." every time.
    If you're starting a serious project with lots of source files, I suggest you have a look at Ant to manage your build process.

  • Can Java reflect not only .Class file

    Hi' i'm newbie in this topic, i'm really appreciate if somebody can help me..cos i'm really stuck in here...
    My Problems are :
    1. i want to ask about this, can Java reflect from .java file?
    2. i'm using Eclipse IDE, i'm really interesting about how JTree or Package Explorer in Eclipse can always displaying update information about class structure? but .java files not compiled, how can? if Eclipse using reflection, .java files must be compiled first, correct me if i'm wrong?
    The fact is Eclipse don't have to compiled .java files to get the update information about class structure and displaying in JTree or package Explorer...how implement like this?
    what i mean like this :
    ex : if i type int x = 100; (not only int, it could be anything else..) at the working files, JTree or Package Explorer in Eclipse can always update the informasion about class structure, but .java files not compiled..
    i hope my question are easy to understand, i really need some help..
    Thanks a lot..

    hey, thanks for the answers, but i would like to ask :
    1) Eclipse performs background compilation of the Java sources, then performs reflection on those temporary classes++ if i'm using this way, how about the performance? seems that it will be compiled all the time right?
    2) Eclipse has access to the results of the Java source code parser, and can extract the information from the java syntax parser, before it gets to the compilation stage.++ how to implement this? what do you mean about java syntax parser?
    do you know where i can find any article about this?
    thanks a lot again...

  • My source does not compile in 1.5 because of generics in libraries

    Hi,
    I have a problem with my source codes written for 1.3 and 1.4 java. I have been implementing Iterator, Collection, List and extending ArrayList in many ocassions. All works as expected in 1.4 but if I try to compile it with 1.5 it does not compile. I do receive many errors which generally speaking are showing that compiler does think that X subclass is not the same as a subclass of X<?> generic which simply makes all my code to not compile.
    Does anybody had similar problems with their code? Does anybody knows how to rewrite problematic code so that it will compile under BOTH 1.4 and 1.5 without -source 1.4 option?
    Some examples, stripped to problematic parts:
    public class CSectionList extends ArrayList
    public final boolean add(Object element)
                 int p = Collections.binarySearch(this,element);
    /** Here comes error:
    cannot find symbol
    symbol  : method binarySearch(sztejkat.utils.CSectionList,java.lang.Object)
    location: class java.util.Collections
                    int p = Collections.binarySearch(this,element);
              if (p<0)
    public class CMemoryViewTable extends JTable
    /** Here comes error:
    name clash: setDefaultRenderer(java.lang.Class,javax.swing.table.TableCellRenderer) in sztejkat.hdl.debugger.ui.CMemoryViewTable and setDefaultRenderer(java.lang.Class<?>,javax.swing.table.TableCellRenderer) in javax.swing.JTable have the same erasure, yet neither overrides the other
    public class CMemoryViewTable extends JTable
        public void setDefaultRenderer(Class columnClass,
                                             TableCellRenderer renderer)
              if (renderer!=null)
                   super.setDefaultRenderer(columnClass,new CCursorRenderer(renderer));
              }else
               super.setDefaultRenderer(columnClass,null);
    }In first example it seems to not catch that my CSectionList is a List<>, while in second it does not treat Class and Class<> equally what makes compiler to think that I don't override setDefaultRenderer method what I actually wanted to do (and did in 1.4).
    Please help...
    regards,
    Tomasz Sztejka
    P.S.
    Where the source compatibility have gone between 1.4 and 1.5? If it will look like this I strongly vote to NOT touch java language specification - it was very nice, simple and clear language. With autoboxing and generics it starts to do a lot of things behind my back what I don't like - this is why I moved from C++ to Java - hate what C++ did with overloaded operators. But maybe I'm just to stupid.

    Hi,
    I'm still not getting a good grip on generics, and still think they are not necessary.True, but when you have assembler you might not need C or Java. With assembler, you can write the most efficient programmes, but fixing a bug is not easy. With the higher level of C and Java, fewer trivial errors are made. The introduction of generics is another step towards compile-time bug prevention.
    Will your request block me from having a set of different classes,
    derived from different superclasses, all
    implementing Comparable in the way, that they use
    instanceof to check for proper relation (ie. I would
    like to sorting to sort all classes A by some value
    and all classes B to land in front of list)?Regarding raw classes, my request will change the erased interface of Comparable from
    int compareTo(Object o);to
    int compareTo(Comparable o);This would mean that all non-generic implementions of Comparable would have to be modified. I should have requested this enhancement ten years ago, but back then I did not know about Java at all :(
    Where largest common superclass is Object (ie Asuper
    is not instanceof Bsuper and vice-versa).
    Will soring list of such objects (both A and B) will
    be legal after your RFE ?Both A and B implement Comparable, so that should not be a problem.

  • Java Mapping - Not able to compile .Java file

    Hi Experts,
    I am working with a sample scenario which involves Java Mapping. For this I created MappingClass.java file, After compiling the .Java file .Jar file would be used for Java Mapping by using Imported Archives.
    After compiling the MappingClass.java file, I am getting the errors as below.
    --> Java errors after compilation
    C:\j2sdk1.4.2_13\bin>javac MappingClass.java
    MappingClass.java:4: package com.sap.aii.mapping.api does not exist
    import com.sap.aii.mapping.api.AbstractTrace;
                                   ^
    MappingClass.java:5: package com.sap.aii.mapping.api does not exist
    import com.sap.aii.mapping.api.StreamTransformationConstants;
    --> End of java errors
    In the MappingClass.java file, I had given followed imports.
    import java.util.*;
    import com.sap.aii.mapping.api.AbstractTrace;
    import com.sap.aii.mapping.api.StreamTransformationConstants;
    Could some one please guide me to resolve this issue.
    Thanks in advance.
    ..Sree

    Hi
    I had copied " aii_map_api.jar " file in my Java Class path folder.. i.e " C:\j2sdk1.4.2_08\bin "     AND    " C:\j2sdk1.4.2_08\lib " folders too.. and even in C:\ i.e Root Drive also.
    After trying to Compile my java file (ex : MappingClass.java), still I am getting the errors.
    Errors shown as below.
    --> Errors
    C:\mytest>javac MappingClass.java
    MappingClass.java:2: package com.sap.aii.mapping.api does not exist
    import com.sap.aii.mapping.api.AbstractTrace;
                                   ^
    MappingClass.java:3: package com.sap.aii.mapping.api does not exist
    import com.sap.aii.mapping.api.StreamTransformationConstants;
                                   ^
    MappingClass.java:6: cannot resolve symbol
    symbol  : class AbstractTrace
    location: class MappingClass
        private static AbstractTrace trace = null;
                       ^
    MappingClass.java:12: cannot resolve symbol
    symbol  : class AbstractTrace
    location: class MappingClass
            trace = (AbstractTrace)inputparam.get(
                     ^
    MappingClass.java:13: cannot resolve symbol
    symbol  : variable StreamTransformationConstants
    location: class MappingClass
                       StreamTransformationConstants.MAPPING_TRACE );
                       ^
    5 errors
    --> End of Errors
    Could some one please guide me to resolve this issue.
    Thanks in advance.
    ..Sree

  • Simple Java class using SQLJ not compiling.

    Hello all, I have a simple Java class that is using SQLJ. It will not compile though. I am not sure what I should set for classpath. Any ideas? This is what I have so far.
    set PATH=C:\jdk1.2.2\bin;c:\oracle\ora81\jdbc\bin;
    set CLASSPATH="C:\oracle\ora81\jdbc\lib\classes12.zip;C:\oracle\ora81\sqlj\lib\runtime12.zip;C:\oracle\ora81\sqlj\lib\translator.zip;C:\jdk1.2.2\lib\*.*"
    then
    javac SQLJTester.java
    Here is my .java file ---
    import java.io.*;
    import java.sql.*;
    import sqlj.runtime.*;
    import sqlj.runtime.ref.*;
    public class SQLJTester {
    public static void update() throws Exception {
    java.sql.Timestamp timeNow;
    #sql {
    BEGIN
    :timeNow := sysdate;
    END
    public static void main (String[] args) {
    try {
    SQLJTester.update();
    System.out.println ("Updated successfully");
    catch (Exception e) {
    System.out.println ("Caught an exception.");
    Thanks ahead for your time,
    Justin

    When sqlj files are compiled and translted to java file with them the file with extension .ser is also generated. browsers do not recognise this .ser files they only understand .class files which the download using <codebase> instead of class path. so thats why you r not able to use sqlj in servlet. try to customize the profile. Now can some one inform how to use sqlj from eclipse. does it support?. i need to downoad sqlj.exe for that. if anyone has idea from where i can download sqlj.exe pls inform me at [email protected]

  • Java Importer: import of java.lang.Boolean does not compile?

    I have created a webservicestub for the Reports webservice with JDeveloper.
    Now I want to use it in Forms. All methods work correctly, except the runJob method, which uses a boolean argument. I think I need to import java.lang.Boolean for it, but the created package body does not compile ("wrong number or type of arguments" in jni calls).
    Does anybody have suggestions how to get it compiling, or how to call the runJob method without the import of java.lang.Boolean?

    Downloading 1.4 sdk does not have the javac, it just has the JRENo, you apparently downloaded the JRE runtime. Do this to get the compiler, etc:
    Go here: http://java.sun.com/j2se/1.4/download.html
    and in the section titled:
    Download J2SETM v 1.4.0_01 JRE SDK
    look in this row:
    Windows (all languages, including English)
    and click download in the column headed SDK at the far right

  • Java.lang.AssertionError: Can not find generic method public abstract

    I just downloaded the JDev 11g and trying to test the JEE web app. Below is my install:
    JDeveloper 11g
    JEE Web Project
    EJB 3.0
    Steps taken:
    1. Created an entity bean from a table.
    2. Created a session facade
    3. Create sample Java client to use the facade (Right-click on the session facade, and choose New sample Java Client from the context menu)
    4. Run the session facade
    5. Run the Java client
    I got the following error.
    java.lang.AssertionError: Can not find generic method public abstract java.util.List<com.oracle.orm.model.ejb.persistence.Hosttags> queryHosttagsFindAll() in EJB Object
    I checked the methods in the beans and interfaces, they are all there. Any idea?
    Thanks.

    I have a customer that has this problem.
    We wrote me that:
    we got a java.lang.NoSuchMethodException while the method exist even in the generated (by WLS) stub.
    when we change the interface by putting a "list" instead of list <> then it works.
    hope it can help, but should be great know why.
    Regards
    Marco
    글 수정: user10649412

  • Windows xp runs java application but does not compile it - urgent please

    Hi
    My new PC(portable) does not compile my java progran:
    'javac' is not recognized as an internal or external command, operatable program or batch file.
    If you have any suggestion, please let me know!
    Aria

    Thanks anyhow;
    The following information is sent to beginners site.
    I have talked to british, belgian and others regarding this problem. They said it is very expensive and we laughed.
    Hi,
    Windows XP runs java application but does not compile it. I get following message:
    'javac' is not recognized as an internal or external command, operatable program or batch file.
    MS-DOS does not exists but a command line edits autoexec.nt having allinformation regarding installed jdk5. I run my java applicat
    ion from here. But no compilation.
    Environment variables has following information.
    JAVA_HOME C:\jdk5.0
    CLASSPATH C:\jdk5.0\myPrograms
    path %JAVA_HOME%bin
    All information in autoexec.nt exists as windows 98 and I run it from command line.
    Would you please tell me what is wrong?
    Thanks
    Aria

  • XSLT Mapping with Java class not working in Integration Repository

    Hi,
    I have an XSLT mapping program with Java enhancement and I was able to successfully tested it in Stylus Studio. However, when I imported the Java class and the xslt program in Enterprise Service Builder and tested it, my program does not compile.
    Here is the error message: "Transformer Configuration Exception occurred when loading XSLT mapping_temp.xsl; details: Could not compile stylesheet".
    My java program is in a zip file containing SOAPHeaderHandler.java and SOAPHeaderhandler.class. My Java has a package com.nga.xslt.
    Here is the declaration of my Java class in the XSLT: xmlns:javamap="java:com.nga.xslt.SOAPHeaderHandler"
    It seems that it could not read the java class. Can you please advice what is wrong?

    Hi ,
    select XMLTOOLKIT option in Operation mapping and execute it.
    I am not sure we can call java program in XSLT Program,but alternative is copy the code and use it in XSLT mapping it self,that means your XSLT program will become with JAVA extensions.
    then in Operation mapping level select SAPXMLTOOL kit option and execute it. i hope it will work. if it is not working then you have deploy some JAXP files on server,because the way execution of XSLT Mpaping program got changed,like when eve you executing XSLT with extnasions( if you are not using XMLTOOL kit option) then you have to use latest version of JAXP.JDK files.
    Regards,
    Raj

  • Error while transforming XSLT,"Could not compile stylesheet"

    Hi,
    During transformation of my XSLT I needs to fetch data from method named *"myMethod(String str)"*, which is in *"mypackage.test.MyClass"* class. MyClass is in{color:#000000} XXX.jar. {color}
    This XXX.jar is not in context of my web application.*
    Following is part of XSLT which I am using.
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:aaa="mypackage.test.MyClass">
    <xsl:template match="/responseData">
    <xsl:for-each select="response">
    <XMLResponse>
    <xsl:for-each select="status">
    <xsl:variable name="Vvar_ResResponseType" select="."/>
    <xsl:attribute name="ResResponseType">
    <xsl:value-of select="aaa:myMethod($Vvar_ResResponseType)"/>
    </xsl:attribute>
    </xsl:for-each>
    </XMLResponse>
    </xsl:for-each>
    </xsl:template>
    </xsl:stylesheet>So I tried to use reflection API to load XXX.jar file at runtime.
    But while transforming Transformer does not find "myMethod(String str)" and gives error like "Could not compile stylesheet"
    Following is full exception stacktrace
    ERROR:  'The first argument to the non-static Java function 'myMethod' is not a valid object reference.'
    FATAL ERROR:  'Could not compile stylesheet'
    javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:829)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:623)
    at com.actl.dxchange.utilities.Transformation.transform(Transformation.java:83)
    at com.actl.dxchange.base.BaseConnector.transform(BaseConnector.java:330)
    at com.actl.dxchange.connectors.KuoniConnector.doRequestProcess(KuoniConnector.java:388)
    at com.actl.dxchange.connectors.KuoniConnector.hotelAvail(KuoniConnector.java:241)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    ...........Please suggest is there any other way, so that Transformer can find required bean class from XXX.jar duruing transformation process.
    Thanks & Regards,
    Rohit Lad
    Edited by: Rohit_Lad on Jan 29, 2009 7:38 PM
    Edited by: Rohit_Lad on Jan 30, 2009 9:57 AM
    Edited by: Rohit_Lad on Jan 30, 2009 10:02 AM

    Got the solution from forum named
    "Reflections & Reference Objects"
    Following is link for whom encountered this issue.
    http://forums.sun.com/thread.jspa?threadID=5362426
    Edited by: Rohit_Lad on Jan 30, 2009 2:35 PM

  • XSLT Exception: FATAL ERROR:  'Could not compile stylesheet'

    Hi....
    Am getting Folowing Exception while parsing the XSL file. Am using java 1.4 and MSXML4.2 SP2 parser andSDK.
    but when I installed SQLServer2005, with that MSXML 6.0 Parser is Installed.
    It is working fine before instalation of SQLServer2005.
    java.lang.NullPointerException
         at com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionCall.translate(FunctionCall.java:826)
         at com.sun.org.apache.xalan.internal.xsltc.compiler.ValueOf.translate(ValueOf.java:114)
         at com.sun.org.apache.xalan.internal.xsltc.compiler.SyntaxTreeNode.translateContents(SyntaxTreeNode.java:490)
         at com.sun.org.apache.xalan.internal.xsltc.compiler.XslAttribute.translate(XslAttribute.java:252)
    Compiler warnings:
    file:///F:/Data/JRun4/servers/ABC/MainXSL.xsl: line 155: Attribute 'LenderBranchIdentifier' outside of element.
    file:///F:/Data/JRun4/servers/ABC/MainXSL.xsl: line 156: Attribute 'LenderRegistrationIdentifier' outside of element.
    ERROR: 'null'
    FATAL ERROR: 'Could not compile stylesheet'
    javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:753)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:548)
         at com.ls.lsglobal.common.CLOUTSQLXML.TransXml2Xml(CLOUTSQLXML.java:274)
    And My XSL is
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="2.5" xmlns:lsjava1="com.ls.lsglobal.common" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="lsjava1" >
         <xsl:output method="xml" indent="yes" encoding="utf-8" doctype-system="MyRequest.1.3.DTD"/>
         <xsl:template match="/" >
              <REQUEST_GROUP>
                                       <TRANSMITTAL_DATA>
                                            <xsl:if test="AppraisedVal!=''">
                                                 <xsl:attribute name="AppraisedValueAmount"><xsl:value-of select="AppraisedVal"/></xsl:attribute>
                                            </xsl:if>
                                            <xsl:if test="StatedVal!=''">
                                                 <xsl:attribute name="EstimatedValueAmount"><xsl:value-of select="StatedVal"/></xsl:attribute>
                                            </xsl:if>
                                            <xsl:for-each select="ROOT/AppMain/MyLoop/Liab">
                                                 <xsl:if test=" normalize-space(LiabTypCd) = 'SMG' and (normalize-space(PresFutTypCd) = 'BOTH' or normalize-space(PresFutTypCd) = 'PRES') and PresLienPos='1' and normalize-space(RefCd) != 'LOAN'">
                                                      <xsl:attribute name="CurrentFirstMortgageHolderType"><xsl:value-of select="LiabId"/></xsl:attribute>
                                                 </xsl:if>
                                            </xsl:for-each>
                                            <xsl:attribute name="LenderBranchIdentifier">0001</xsl:attribute>
                                            <xsl:attribute name="LenderRegistrationIdentifier"><xsl:value-of select="ROOT/AppMain/MyNum"/></xsl:attribute>
                                       </TRANSMITTAL_DATA>
              </REQUEST_GROUP>
         </xsl:template>
    </xsl:stylesheet>
    And My Java Code is
    public String TransXml2Xml(String xmlInFile, String xslFile, String xmlOutFile) throws Exception
              try
                   DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
                   factory.setIgnoringElementContentWhitespace(true);
                   Document document;
                   File stylesheet = new File(xslFile);
                   File dataInfile = new File(xmlInFile);
                   DocumentBuilder builder = factory.newDocumentBuilder();
                   document = builder.parse(dataInfile);
                   System.err.println("-->AVC:::xslFile="+xslFile+" xmlInFile="+xmlInFile+" xmlOutFile="+xmlOutFile);
                   StreamSource stylesource = new StreamSource(stylesheet);
                   TransformerFactory t=TransformerFactory.newInstance();
                   Transformer transformer = t.newTransformer(stylesource);
                   DOMSource source = new DOMSource(document);
                   javax.xml.transform.stream.StreamResult result = new javax.xml.transform.stream.StreamResult(new File(xmlOutFile));
                   transformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT , "yes");
                   transformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING, "UTF-8");
                   transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
                   if(strCLUTDTD_PATH.equals(""))
                        java.util.Properties props = new java.util.Properties();
                        java.io.FileInputStream fis = new java.io.FileInputStream("DataFileBasePath.properties");
                        props.load(fis);
                        fis.close();
                        strCLUTDTD_PATH = checkNull(props.get("CLUTREQDTD_PATH"));
                   transformer.setOutputProperty(javax.xml.transform.OutputKeys.DOCTYPE_SYSTEM , strCLUTDTD_PATH);
                   transformer.transform(source, result);
              catch(Exception e)
                   e.printStackTrace();
                   throw e;
              return "";
    can any one know what solution for this problem. It is very help full for me.

    So look at your code and find out what you are passing to the TransformerFactory. Then find out why it's null. Don't just sit there and say "Duh", it's your code.
    And remember that nobody but you can see it yet. If you like you could post it here and then others could see it and comment on it.

  • Cannot open ddms.bat on android sdk because Java is not in my path

    I'm trying to open the ddms.bat (Dalvik Debug Monitor) but it won't let me because Java is not in my path.
    Some things you should know: 1. I barely know what I'm talking about so please walk me through any advice you give me, I'm brand new to all of this. 2. I'm only trying to get ddms.bat to open because I want to take android screenshots without rooting my Nexus One. 3. I'm using a laptop PC with Windows 7 64 bit. 4. Following directions from some site, I moved the entire Java file from C:\Program Files to C:\Program Files (x86)
    I've downloaded jre, jdk, and eclipse. For some reason eclipse wont open, its giving me some error about could not open C:\Program Files\Java\jre\lib\amd64\jvm.cfg
    Using a website that I googled, I was able to put C:\Program Files (x86)\Java\jre1.6.0_21\jre\bin into the PATH but I don't know if I did the user variable correctly because the website told me to enter "classpath" as the variable and "." as the value.
    Main Questions:
    1. How do I put Java in my path?
    2. How can I get the Eclipse application to open?
    3. Should I move Java back to C:\Progam Files rather than keeping it C:\Progam Files (x86)
    4. In order to get ddms.bat to open do I need jre, jdk, and eclipse or can I do with only one or two of them? And if so which ones do I need?
    EDIT: I've moved the Java folder back to C:\Program Files and then tried to open ddms.bat and now cmd is giving the error that java.lang.UnsatisfiedError: Cannot load 32-bit SWT libraries on 64 bit JVM
    What does that mean, and how can I fix it?
    Also I've managed to get eclipse to open.
    EDIT2: Got it to work somehow, that was really complicated but I'm just happy I got it. Heres the imgur link : imgur.com/ucBpY.png
    Edited by: TaeKwonDonkey on Jul 30, 2010 9:04 PM
    Edited by: TaeKwonDonkey on Jul 30, 2010 9:42 PM
    Edited by: TaeKwonDonkey on Jul 30, 2010 9:43 PM

    TaeKwonDonkey wrote:
    I'm trying to open the ddms.bat (Dalvik Debug Monitor) but it won't let me because Java is not in my path.
    Some things you should know: 1. I barely know what I'm talking about so please walk me through any advice you give me, I'm brand new to all of this.You might want to try familiarizing yourself with basic Java before using it to run a debugger of Java (or near-Java) code. Multiple layers of roughly the same thing can be hard to grok.
    4. Following directions from some site, I moved the entire Java file from C:\Program Files to C:\Program Files (x86)What do you mean by that? "entire Java file" doesn't really make sense.
    I've downloaded jre, jdk, and eclipse. For some reason eclipse wont open, its giving me some error about could not open C:\Program Files\Java\jre\lib\amd64\jvm.cfgWell if it's looking for Java under that path, but you moved it to a different directory, that means it won't be able to find Java.
    Using a website that I googled, I was able to put C:\Program Files (x86)\Java\jre1.6.0_21\jre\bin into the PATH but I don't know if I did the user variable correctly because the website told me to enter "classpath" as the variable and "." as the value. CLASSPATH and PATH are two entirely different things.
    Main Questions:
    1. How do I put Java in my path?You choose a sane standard place to put it there. Set the PATH environment variable to point to the bin/ subdirectory under your Java directory.
    2. How can I get the Eclipse application to open?Don't even use Eclipse yet. It's just adding more layers, and that makes each layer harder to learn.
    Also, I've come to feel that Eclipse is usually more trouble than it's worth.
    3. Should I move Java back to C:\Progam Files rather than keeping it C:\Progam Files (x86)Probably. Why did you do that?
    4. In order to get ddms.bat to open do I need jre, jdk, and eclipse or can I do with only one or two of them? And if so which ones do I need?You probably just need the JRE (unless ddms.bat compiles things for some reason) but if you're planning to do any Java programming, you might as well install the JDK (it includes the JRE too).
    EDIT2: Got it to work somehow, that was really complicated but I'm just happy I got it. Heres the imgur link : imgur.com/ucBpY.pngRegardless, I advise you to skip Eclipse. You want to learn how this thing works, not how to click on things.

  • Java program not running by the Ant

    i have a small java program.
    its a classpath problem.
    cant figure out where is the problem.
    i am running the code via Ant.
    build.xml
    <?xml version="1.0"?>
    <project name="myproject" basedir="." default="all">
        <property name="src.dir"     value="src"/>
         <property name="classes.dir" value="classes"/>
         <property name="lib.dir"     value="C:/tomcat/webapps/axis/WEB-INF/lib"/>
         <property name="runclass" value="TestClient"/>
         <target name="all" depends="clean,compile"/>
         <target name="clean">
            <delete dir="${classes.dir}"/>
        </target>
        <path id="classpath">
            <fileset dir="${lib.dir}" includes="**/*.jar"/>
        </path>
        <target name="compile">
            <mkdir dir="${classes.dir}"/>
         <javac srcdir="${src.dir}"
          destdir="${classes.dir}"
          deprecation="on"
          debug="on">
       <classpath><path refid="classpath"/></classpath>
      </javac>
         </target>
         <target name="run" depends="compile">
       <!-- run the class -->
       <java classname="${runclass}">
            <classpath>
              <pathelement path="${classpath}"/>
              <fileset dir="${lib.dir}">
                <include name="**/*.jar"/>
            </fileset>
              </classpath>
           </java>
      </target>
         </project>i invoked
    ant runand got this
    Buildfile: build.xml
    compile:
    run:
         [java] Could not find TestClient. Make sure you have it in your classpath
         [java]     at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava
    .java:170)
         [java]     at org.apache.tools.ant.taskdefs.Java.run(Java.java:710)
         [java]     at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:178)
         [java]     at org.apache.tools.ant.taskdefs.Java.execute(Java.java:84)
         [java]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.ja
    va:275)
         [java]     at org.apache.tools.ant.Task.perform(Task.java:364)
         [java]     at org.apache.tools.ant.Target.execute(Target.java:341)
         [java]     at org.apache.tools.ant.Target.performTasks(Target.java:369)
         [java]     at org.apache.tools.ant.Project.executeSortedTargets(Project.jav
    a:1216)
         [java]     at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
         [java]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(De
    faultExecutor.java:40)
         [java]     at org.apache.tools.ant.Project.executeTargets(Project.java:1068
         [java]     at org.apache.tools.ant.Main.runBuild(Main.java:668)
         [java]     at org.apache.tools.ant.Main.startAnt(Main.java:187)
         [java]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
         [java]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
    BUILD SUCCESSFUL
    Total time: 2 secondsso, code is not running......its dfinitely a classpath problem , because error message says "Could not find TestClient. Make sure you have it in your classpat".
    TestClient is the name of main class file.
    not sure whats wrong with this build.xml ? whats wrong in it ?
    one thing , i guess, i did not mention "." , current directory in the build.xml ......is it because of that ?
    i browsed apache manual......To Run a Java program.....first, they are making a JAR file ...and then they are executing the JAR.
    i really, dont need the JAR file......i just want to run it.....thats enough.
    somewhere, i have to do some modification in this buld.xml.......do you have any idea ?
    thank you

    TestClient folder has
    1)src
    2)classes
    3)build.xml
    i have posted the build.xml already.
    now, src folder has TestClient.java
    TestClient.java
    ==================
    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
    import javax.xml.namespace.QName;
    public class TestClient {
       public static void main(String [] args) {
         try {
           String endpoint =
               "http://ws.apache.org:5049/axis/services/echo";
           Service  service = new Service();
           Call     call    = (Call) service.createCall();
           call.setTargetEndpointAddress( new java.net.URL(endpoint) );
           call.setOperationName(new QName("http://soapinterop.org/","echoString"));
           String ret = (String) call.invoke( new Object[] { "Hello!" } );
           System.out.println("Sent 'Hello!', got '" + ret + "'");
         } catch (Exception e) {
           System.err.println(e.toString());
    }and i did
    ant runand i got those errors.
    clearly, its not able to run it.
    looked the manual....did not find anything special about java task....still not working.

  • Problem with shuffle() code, will not compile

    Hi,
    Below is some code designed to shuffle a set of integers in the file editET.txt. Basically:
    5
    2
    4 say:
    just shuffle these randomly around, however, the code will not compile, any advice or solutions would be great
    import java.io.*;
    import java.util.*;
    public class Shuffle3 {
    public static void main (String [] args) {
    if (args.length<2){
    System.out.println("Usage: java Shuffle3 <input file> <output file>");
    System.exit(-1);
    ShuffleStringList sl = new ShuffleStringList(args[0]);
    sl.shuffle();
    sl.save(args[1]);
    class ShuffleStringList extends StringList {
    public ShuffleStringList(String "editET.txt") {
         super(fileName);
    public void shuffle() {
    Collections.shuffle(this);
    public void save (String "Shuffledok"){
         PrintWriter out = null;
         try {
         out = new PrintWriter(new FileOutputStream("Shuffledok"), true);
    for (int i=0; i < size(); i++){
              out.println((String)get(i));
    catch(IOException e) {
    e.printStackTrace();
    finally {
         if(out !=null) {out.close();}
    class StringList extends ArrayList{
    public StringList(){
         super();
    public StringList(String "editET.txt") {
         this();
    String line = null;
    BufferedReader in = null;
         try {
         in = new BufferedReader(new FileReader("editET.txt"));
         while((line = in.readLine()) !=null) {
              add(line);
    catch(IOException e){
         e.printStackTrace();
    public void save (String "Shuffledok") {
    FileWriter out = null;
    try {
         out = new FileWriter("Shuffledok");
         for(int i =0; i < size(); i++){
         out.write((String)get(i));
    catch(IOException e){
         e.printStackTrace();
    finally {
         try{out.close();} catch (IOException e) {e.printStackTrace();}
    public void shuffle() {
    Collections.shuffle(this);

    import java.io.*;
    import java.util.*;
    public class Shuffle3 {
    public static void main (String [] args) {
    ShuffleStringList sl = new ShuffleStringList("editET.txt");
    sl.shuffle();
    sl.save("Shuffledok");
    class ShuffleStringList extends StringList {
    public ShuffleStringList(String fileName) {
    super(fileName);
    public void shuffle() {
    Collections.shuffle(this);
    public void save (String target){
    PrintWriter out = null;
    try {
    out = new PrintWriter(new FileOutputStream(target), true);
    for (int i=0; i < size(); i++){
    out.println((String)get(i));
    catch(IOException e) {
    e.printStackTrace();
    finally {
    if(out !=null) {out.close();}
    class StringList extends ArrayList{
    public StringList(){
    super();
    public StringList(String fileName) {
    this();
    String line = null;
    BufferedReader in = null;
    try {
    in = new BufferedReader(new FileReader(fileName));
    while((line = in.readLine()) !=null) {
    add(line);
    catch(IOException e){
    e.printStackTrace();
    public void save (String target) {
    FileWriter out = null;
    try {
    out = new FileWriter(target);
    for(int i =0; i < size(); i++){
    out.write((String)get(i));
    catch(IOException e){
    e.printStackTrace();
    finally {
    try{out.close();} catch (IOException e) {e.printStackTrace();}
    public void shuffle() {
    Collections.shuffle(this);
    }

Maybe you are looking for