Make sure it's on the top level Ant classpath, not just in a classpath
element.  So in your build.bat or build.sh, make sure you include this
JAR in the -cp parameter.

Clinton


On Fri, 3 Dec 2004 17:07:08 -0600, McCarrier, Alex
<[EMAIL PROTECTED]> wrote:
> Okay, so after may problems using the compat libraries, I've begun the
> attempt to upgrade.  However, I am getting problems using the ant task
> saying it can't find the SqlMap.xsl file.  The jar is on the class path
> (it is finding the SqlMapXmlConverter file just fine).
> 
> Here's my build.xml:
> 
> <project name="convert" default="main" basedir=".">
>        <path id="classpath">
>                <fileset dir="lib/ibatis">
>                        <include name="**/*.jar"/>
>                </fileset>
>        </path>
> 
>        <taskdef name="convertSqlMaps"
>              classname="com.ibatis.db.sqlmap.upgrade.ConvertTask"
>              classpathref="classpath"/>
> 
>        <target name="main">
>                <convertSqlMaps todir="c:/convertSqlMaps/"
> overwrite="true">
>                        <fileset dir="config/ibatis">
>                                <include name="**/*.xml"/>
>                        </fileset>
>                </convertSqlMaps>
>        </target>
> </project>
> 
> Here's the output:
> 
> Buildfile: convert.xml
> 
> main:
> [convertSqlMaps] Copying 33 files to C:\convertSqlMaps
> 
> BUILD FAILED
> com.ibatis.common.exception.NestedRuntimeException: Error.  Cause:
> java.io.IOExc
> eption: Could not find resource com/ibatis/db/sqlmap/upgrade/SqlMap.xsl
> Caused by: java.io.IOException: Could not find resource
> com/ibatis/db/sqlmap/upg
> rade/SqlMap.xsl
>        at
> com.ibatis.db.sqlmap.upgrade.SqlMapXmlConverter.convertXml(SqlMapXmlC
> onverter.java:50)
>        at
> com.ibatis.db.sqlmap.upgrade.SqlMapXmlConverter.convertFile(SqlMapXml
> Converter.java:71)
>        at
> com.ibatis.db.sqlmap.upgrade.ConvertTask.doFileOperations(ConvertTask
> .java:75)
>        at org.apache.tools.ant.taskdefs.Copy.execute(Copy.java:369)
>        at org.apache.tools.ant.Task.perform(Task.java:341)
>        at org.apache.tools.ant.Target.execute(Target.java:309)
>        at org.apache.tools.ant.Target.performTasks(Target.java:336)
>        at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
>        at
> org.apache.tools.ant.Project.executeTargets(Project.java:1255)
>        at org.apache.tools.ant.Main.runBuild(Main.java:609)
>        at org.apache.tools.ant.Main.start(Main.java:196)
>        at org.apache.tools.ant.Main.main(Main.java:235)
> Caused by: java.io.IOException: Could not find resource
> com/ibatis/db/sqlmap/upg
> rade/SqlMap.xsl
>        at
> com.ibatis.common.resources.Resources.getResourceAsStream(Resources.j
> ava:101)
>        at
> com.ibatis.common.resources.Resources.getResourceAsStream(Resources.j
> ava:86)
>        at
> com.ibatis.common.resources.Resources.getResourceAsReader(Resources.j
> ava:150)
>        at
> com.ibatis.db.sqlmap.upgrade.SqlMapXmlConverter.convertXml(SqlMapXmlC
> onverter.java:43)
>        ... 11 more
> 
> Caused by:
> java.io.IOException: Could not find resource
> com/ibatis/db/sqlmap/upgrade/SqlMap
> .xsl
>        at
> com.ibatis.common.resources.Resources.getResourceAsStream(Resources.j
> ava:101)
>        at
> com.ibatis.common.resources.Resources.getResourceAsStream(Resources.j
> ava:86)
>        at
> com.ibatis.common.resources.Resources.getResourceAsReader(Resources.j
> ava:150)
>        at
> com.ibatis.db.sqlmap.upgrade.SqlMapXmlConverter.convertXml(SqlMapXmlC
> onverter.java:43)
>        at
> com.ibatis.db.sqlmap.upgrade.SqlMapXmlConverter.convertFile(SqlMapXml
> Converter.java:71)
>        at
> com.ibatis.db.sqlmap.upgrade.ConvertTask.doFileOperations(ConvertTask
> .java:75)
>        at org.apache.tools.ant.taskdefs.Copy.execute(Copy.java:369)
>        at org.apache.tools.ant.Task.perform(Task.java:341)
>        at org.apache.tools.ant.Target.execute(Target.java:309)
>        at org.apache.tools.ant.Target.performTasks(Target.java:336)
>        at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
>        at
> org.apache.tools.ant.Project.executeTargets(Project.java:1255)
>        at org.apache.tools.ant.Main.runBuild(Main.java:609)
>        at org.apache.tools.ant.Main.start(Main.java:196)
>        at org.apache.tools.ant.Main.main(Main.java:235)
> 
> Total time: 0 seconds
> com.ibatis.common.exception.NestedRuntimeException: Error.  Cause:
> java.io.IOExc
> eption: Could not find resource com/ibatis/db/sqlmap/upgrade/SqlMap.xsl
> Caused by: java.io.IOException: Could not find resource
> com/ibatis/db/sqlmap/upg
> rade/SqlMap.xsl
>        at
> com.ibatis.db.sqlmap.upgrade.SqlMapXmlConverter.convertXml(SqlMapXmlC
> onverter.java:50)
>        at
> com.ibatis.db.sqlmap.upgrade.SqlMapXmlConverter.convertFile(SqlMapXml
> Converter.java:71)
>        at
> com.ibatis.db.sqlmap.upgrade.ConvertTask.doFileOperations(ConvertTask
> .java:75)
>        at org.apache.tools.ant.taskdefs.Copy.execute(Copy.java:369)
>        at org.apache.tools.ant.Task.perform(Task.java:341)
>        at org.apache.tools.ant.Target.execute(Target.java:309)
>        at org.apache.tools.ant.Target.performTasks(Target.java:336)
>        at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
>        at
> org.apache.tools.ant.Project.executeTargets(Project.java:1255)
>        at org.apache.tools.ant.Main.runBuild(Main.java:609)
>        at org.apache.tools.ant.Main.start(Main.java:196)
>        at org.apache.tools.ant.Main.main(Main.java:235)
> Caused by: java.io.IOException: Could not find resource
> com/ibatis/db/sqlmap/upg
> rade/SqlMap.xsl
>        at
> com.ibatis.common.resources.Resources.getResourceAsStream(Resources.j
> ava:101)
>        at
> com.ibatis.common.resources.Resources.getResourceAsStream(Resources.j
> ava:86)
>        at
> com.ibatis.common.resources.Resources.getResourceAsReader(Resources.j
> ava:150)
>        at
> com.ibatis.db.sqlmap.upgrade.SqlMapXmlConverter.convertXml(SqlMapXmlC
> onverter.java:43)
>        ... 11 more
> 
> Caused by:
> java.io.IOException: Could not find resource
> com/ibatis/db/sqlmap/upgrade/SqlMap
> .xsl
>        at
> com.ibatis.common.resources.Resources.getResourceAsStream(Resources.j
> ava:101)
>        at
> com.ibatis.common.resources.Resources.getResourceAsStream(Resources.j
> ava:86)
>        at
> com.ibatis.common.resources.Resources.getResourceAsReader(Resources.j
> ava:150)
>        at
> com.ibatis.db.sqlmap.upgrade.SqlMapXmlConverter.convertXml(SqlMapXmlC
> onverter.java:43)
>        at
> com.ibatis.db.sqlmap.upgrade.SqlMapXmlConverter.convertFile(SqlMapXml
> Converter.java:71)
>        at
> com.ibatis.db.sqlmap.upgrade.ConvertTask.doFileOperations(ConvertTask
> .java:75)
>        at org.apache.tools.ant.taskdefs.Copy.execute(Copy.java:369)
>        at org.apache.tools.ant.Task.perform(Task.java:341)
>        at org.apache.tools.ant.Target.execute(Target.java:309)
>        at org.apache.tools.ant.Target.performTasks(Target.java:336)
>        at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
>        at
> org.apache.tools.ant.Project.executeTargets(Project.java:1255)
>        at org.apache.tools.ant.Main.runBuild(Main.java:609)
>        at org.apache.tools.ant.Main.start(Main.java:196)
>        at org.apache.tools.ant.Main.main(Main.java:235)
> 
> Caused by:
> java.io.IOException: Could not find resource
> com/ibatis/db/sqlmap/upgrade/SqlMap
> .xsl
>        at
> com.ibatis.common.resources.Resources.getResourceAsStream(Resources.j
> ava:101)
>        at
> com.ibatis.common.resources.Resources.getResourceAsStream(Resources.j
> ava:86)
>        at
> com.ibatis.common.resources.Resources.getResourceAsReader(Resources.j
> ava:150)
>        at
> com.ibatis.db.sqlmap.upgrade.SqlMapXmlConverter.convertXml(SqlMapXmlC
> onverter.java:43)
>        at
> com.ibatis.db.sqlmap.upgrade.SqlMapXmlConverter.convertFile(SqlMapXml
> Converter.java:71)
>        at
> com.ibatis.db.sqlmap.upgrade.ConvertTask.doFileOperations(ConvertTask
> .java:75)
>        at org.apache.tools.ant.taskdefs.Copy.execute(Copy.java:369)
>        at org.apache.tools.ant.Task.perform(Task.java:341)
>        at org.apache.tools.ant.Target.execute(Target.java:309)
>        at org.apache.tools.ant.Target.performTasks(Target.java:336)
>        at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
>        at
> org.apache.tools.ant.Project.executeTargets(Project.java:1255)
>        at org.apache.tools.ant.Main.runBuild(Main.java:609)
>        at org.apache.tools.ant.Main.start(Main.java:196)
>        at org.apache.tools.ant.Main.main(Main.java:235)
> Error.  Cause: java.io.IOException: Could not find resource
> com/ibatis/db/sqlmap
> /upgrade/SqlMap.xsl
> 
> 
> 
> -----Original Message-----
> From: Clinton Begin [mailto:[EMAIL PROTECTED]
> Sent: Friday, December 03, 2004 9:04 AM
> To: McCarrier, Alex
> Cc: [EMAIL PROTECTED]
> Subject: Re: Problems upgrading from 1.2.x to 2.0.8
> 
> I'd really recommend converting your SQL Maps (just the XML) to the 2.0
> syntax.  You can continue to safely use the 1.x java API, but the 2.0
> XML is much cleaner and will avoid these conversion issues for complex
> configurations.
> 
> Cheers,
> Clinton
> 
> On Thu, 2 Dec 2004 17:06:29 -0600, McCarrier, Alex
> <[EMAIL PROTECTED]> wrote:
> > FYI I found the cause of this:
> >
> > There is an XSL transform in the ibatis-sqlmap-1-x.jar upgrade that
> > does an on the fly conversion when using the old format config files.
> 
> > When it encounters useGlobalTransactions in the settings it assumes
> > the user is using User Managed Transactions and tries to get the JNDI
> > names from the settings as well.  However, when useGlobalTransactions
> > is set in the old it does not necessarily mean they are using user
> > managed transactions, by default it means they are using external
> > transactions. The XSL incorrectly translates the file to JTA with JNDI
> 
> > name "".  It should translate to transaction type EXTERNAL.
> >
> >
> >
> > -----Original Message-----
> > From: McCarrier, Alex [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, December 02, 2004 3:12 PM
> > To: [EMAIL PROTECTED]
> > Subject: Problems upgrading from 1.2.x to 2.0.8
> >
> > I'm getting ClassCastExceptions on TransactionManager when trying to
> > load our old ibatis config file using the new iBatis libraries.
> >
> > Apparently what it is trying to do is an on the fly conversion from
> > the old format to the new format (found by tracing through iBatis
> > source code).  However, we don't have anything transaction related in
> > our config file other than a settings option to specify using global
> > transactions.  We let the EJB container handle the demarcation of our
> > transactions.  When iBatis does the conversion, it seems to default to
> 
> > using JTA transactions, tries to lookup the UserTransaction with JNDI
> > name "" and then throws the ClassCastException.  Any ideas on how to
> > fix this without having to do a manual conversion of the file
> > (although I will do that if that's the only way, but someone might
> > want to add this to the upgrade guide).
> >
> > Here's the part of our config file that is causing problems:
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> >
> > <!DOCTYPE sql-map-config
> >    PUBLIC "-//iBATIS.com//DTD SQL Map Config 1.0//EN"
> >    "http://www.ibatis.com/dtd/sql-map-config.dtd";>
> >
> > <sql-map-config>
> >
> >    <settings useGlobalTransactions="true"
> >              cacheModelsEnabled="true" />
> >    <!--settings useBeansMetaClasses="true"/ Investigate, suppose to be
> 
> > big performance improvement-->
> >
> >    <datasource name="snmDataSource"
> >
> > factory-class="com.ibatis.db.sqlmap.datasource.JndiDataSourceFactory"
> >                  default="true" >
> >        <property name="DBFullJndiContext" value="java:/dsname" />
> >    </datasource>
> >
> >        .. Rest of stuff here ...
> >
> > </sql-map-config>
> >
> 
>

Reply via email to