ok I found an ugly solution but it works.

basicly in my taks I create an instance of the java task and give it
the reference to the classpath + plus the needed parameter.

        public void execute() throws BuildException {
                try {
                        Java java = new Java();
                        java.setProject(getProject());
                        java.setFork(true);

                        Iterator<Path> it = path.iterator();

                        while (it.hasNext()) {
                                java.setClasspath(it.next());
                        }
                        java.setClassname(getClass().getName());

                        StringWriter writer = new StringWriter();
                        PrintWriter print = new PrintWriter(writer);
                        this.getProperties().list(print);
                        java.createArg().setValue(writer.toString());
                        java.createArg().setValue(this.getFactory());

                        java.execute();
                } catch (Exception e) {
                        throw new BuildException(e);
                }
        }

        public static void main(String[] args) throws Exception {
                Project pro = new Project();

                Properties p = new Properties();
                RegisterReport report = new RegisterReport();
                report.setProject(pro);
                report.setFactory(args[1]);

                p.load(new StringInputStream(args[0]));

                report.run(p);
        }


On 8/9/06, wohlgemuth <[EMAIL PROTECTED]> wrote:
sofar I found out that the problem is located in the ant classpath, If
I copy all my libs into the ant lib directory everything is working
fine.

It's just there need to be an easier way, cause I can't force the user
of this software to always copy the nearly 50 libs into there ant
directory.

anybody has a clean solution for this problem?

and the -lib flag doesnt work anymore....

Apache Ant version 1.6.5 compiled on June 2 2005
-lib not supported
Configure the Ant runtime classpath using either the
global Ant runtime classpath or the Ant runtime classpath
 for this particular build
Total time: 31 milliseconds

/gert


On 8/9/06, wohlgemuth <[EMAIL PROTECTED]> wrote:
> hi I try to call an ejb from an ant task and get always:
>
>  [register] (util.RocksClusterFactoryImpl        50  ) create new
> implementation of the cluster util
>  [register] javax.naming.NoInitialContextException: Cannot instantiate
> class: org.jnp.interfaces.NamingContextFactory [Root exception is
> java.lang.ClassNotFoundException:
> org.jnp.interfaces.NamingContextFactory]
>  [register] at javax.naming.spi.NamingManager.getInitialContext(Unknown 
Source)
>  [register] at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
>  [register] at javax.naming.InitialContext.init(Unknown Source)
>  [register] at javax.naming.InitialContext.<init>(Unknown Source)
>  [register] at 
edu.ucdavis.genomics.metabolomics.binbase.cluster.ejb.delegate.ClusterReportConfigServiceUtil.lookupHome(ClusterReportConfigServiceUtil.java:20)
>  [register] at 
edu.ucdavis.genomics.metabolomics.binbase.cluster.ejb.delegate.ClusterReportConfigServiceUtil.getHome(ClusterReportConfigServiceUtil.java:42)
>  [register] at 
edu.ucdavis.genomics.metabolomics.binbase.cluster.util.RocksClusterImplementation.registerReport(RocksClusterImplementation.java:486)
>  [register] at 
edu.ucdavis.genomics.metabolomics.binbase.cluster.ant.RegisterReport.execute(RegisterReport.java:29)
>  [register] at 
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>  [register] at org.apache.tools.ant.Task.perform(Task.java:364)
>  [register] at org.apache.tools.ant.Target.execute(Target.java:341)
>  [register] at org.apache.tools.ant.Target.performTasks(Target.java:369)
>  [register] at 
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
>  [register] at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
>  [register] at 
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
>  [register] at 
org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
>  [register] at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
>  [register] at 
org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
>  [register] at 
org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
>  [register] Caused by: java.lang.ClassNotFoundException:
> org.jnp.interfaces.NamingContextFactory
>  [register] at java.net.URLClassLoader$1.run(Unknown Source)
>  [register] at java.security.AccessController.doPrivileged(Native Method)
>  [register] at java.net.URLClassLoader.findClass(Unknown Source)
>  [register] at java.lang.ClassLoader.loadClass(Unknown Source)
>  [register] at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
>  [register] at java.lang.ClassLoader.loadClass(Unknown Source)
>  [register] at java.lang.ClassLoader.loadClassInternal(Unknown Source)
>  [register] at java.lang.Class.forName0(Native Method)
>  [register] at java.lang.Class.forName(Unknown Source)
>  [register] at com.sun.naming.internal.VersionHelper12.loadClass(Unknown 
Source)
>  [register] ... 19 more
>
> I know that my classes are in the path ( cause if I call <java> with
> this refid it works) so I think there is something weird with my class
> loading in the task.
>
> when I get a refrence to the path element in my task, It tells me the
> path is empty, so I think there is the problem. Somehow ant doenst
> export my defined path to my task. I also looked how the java task is
> implemented, but this didn't help me very much :(
>
> thx for your help,
>
> /gert
>
> --
> --------------------------------------------------------------------
> http://fiehnlab.ucdavis.edu/staff/wohlgemuth
>
> work:    [EMAIL PROTECTED]
> phone:   530 754 7113
>
> private: [EMAIL PROTECTED]
> phone:    530 220 3728
>


--
--------------------------------------------------------------------
http://fiehnlab.ucdavis.edu/staff/wohlgemuth

work:    [EMAIL PROTECTED]
phone:   530 754 7113

private: [EMAIL PROTECTED]
phone:    530 220 3728



--
--------------------------------------------------------------------
http://fiehnlab.ucdavis.edu/staff/wohlgemuth

work:    [EMAIL PROTECTED]
phone:   530 754 7113

private: [EMAIL PROTECTED]
phone:    530 220 3728

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to