[ 
https://issues.apache.org/jira/browse/DERBY-7097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Le Berre updated DERBY-7097:
-----------------------------------
    Description: 
In earlier version of Derby, and as reported in the documentation, the 
EmbeddedDriver class was in derby.jar.

As such, it was quite easy to deploy a webapp with an embedded derby database: 
it was sufficient to just add a derby.jar file to the project library.

In current releases of derby (10.15.2.0), the EmbeddedDriver class is no longer 
in the derby.jar file but in the derbytools.jar file.

```

$ for i in `ls *.jar`; do echo $i ; jar tf $i | grep Driver ; done
 derby.jar
 org/apache/derby/iapi/jdbc/AutoloadedDriver$1.class
 org/apache/derby/iapi/jdbc/AutoloadedDriver.class
 org/apache/derby/iapi/jdbc/Driver42.class
 org/apache/derby/iapi/jdbc/InternalDriver$1.class
 org/apache/derby/iapi/jdbc/InternalDriver$2.class
 org/apache/derby/iapi/jdbc/InternalDriver$3.class
 org/apache/derby/iapi/jdbc/InternalDriver$4.class
 org/apache/derby/iapi/jdbc/InternalDriver$5.class
 org/apache/derby/iapi/jdbc/InternalDriver$DaemonThreadFactory.class
 org/apache/derby/iapi/jdbc/InternalDriver$LoginCallable.class
 org/apache/derby/iapi/jdbc/InternalDriver.class
 META-INF/services/java.sql.Driver
 derbyLocale_cs.jar
 derbyLocale_de_DE.jar
 derbyLocale_es.jar
 derbyLocale_fr.jar
 derbyLocale_hu.jar
 derbyLocale_it.jar
 derbyLocale_ja_JP.jar
 derbyLocale_ko_KR.jar
 derbyLocale_pl.jar
 derbyLocale_pt_BR.jar
 derbyLocale_ru.jar
 derbyLocale_zh_CN.jar
 derbyLocale_zh_TW.jar
 derbyclient.jar
 org/apache/derby/client/ClientAutoloadedDriver.class
 META-INF/services/java.sql.Driver
 derbynet.jar
 derbyoptionaltools.jar
 derbyrun.jar
 derbyshared.jar
 derbytools.jar
 org/apache/derby/jdbc/ClientDriver.class
 org/apache/derby/jdbc/ClientDriver40.class
 org/apache/derby/jdbc/EmbeddedDriver.class

```

As such, most of the tutorials found on the internet about "how to use derby in 
embedded mode" are just wrong because they simply mention derby.jar as a 
dependency.

Worst, derby own documentation is not up to date: as such, I had no way to 
understand why new releases of this tool that I have been using for more than a 
decade in the classroom suddenly did not work anymore.

The explanation is finally simple: I just wonder how such impacting decision 
could be done without proper documentation.

I am also surprised to be the first one reporting this, since the problem 
exists since at least a year.

There are two possible fix to this issue:
 * move back the EmbeddedDriver class to derby.jar (my favorite option I would 
say), but I guess there is a good reason for moving those classes to 
derbytools.jar
 * update the documentation on Derby's web site, with a quite visible alert 
about this change.

 

I have been a pretty happy user of derby for years, and will certainly be in 
the future. Thanks for that great tool. However, that breaking change has been 
particularly annoying, which is the reason of that bug report.

  was:
In earlier version of Derby, and as reported in the documentation, the 
EmbeddedDriver class was in derby.jar.

As such, it was quite easy to deploy a webapp with an embedded derby database: 
it was sufficient to just add a derby.jar file to the project library.

In current releases of derby (10.15.2.0), the EmbeddedDriver class is no longer 
in the derby.jar file but in the derbytools.jar file.

```

$ for i in `ls *.jar`; do echo $i ; jar tf $i | grep Driver ; done
 derby.jar
 org/apache/derby/iapi/jdbc/AutoloadedDriver$1.class
 org/apache/derby/iapi/jdbc/AutoloadedDriver.class
 org/apache/derby/iapi/jdbc/Driver42.class
 org/apache/derby/iapi/jdbc/InternalDriver$1.class
 org/apache/derby/iapi/jdbc/InternalDriver$2.class
 org/apache/derby/iapi/jdbc/InternalDriver$3.class
 org/apache/derby/iapi/jdbc/InternalDriver$4.class
 org/apache/derby/iapi/jdbc/InternalDriver$5.class
 org/apache/derby/iapi/jdbc/InternalDriver$DaemonThreadFactory.class
 org/apache/derby/iapi/jdbc/InternalDriver$LoginCallable.class
 org/apache/derby/iapi/jdbc/InternalDriver.class
 META-INF/services/java.sql.Driver
 derbyLocale_cs.jar
 derbyLocale_de_DE.jar
 derbyLocale_es.jar
 derbyLocale_fr.jar
 derbyLocale_hu.jar
 derbyLocale_it.jar
 derbyLocale_ja_JP.jar
 derbyLocale_ko_KR.jar
 derbyLocale_pl.jar
 derbyLocale_pt_BR.jar
 derbyLocale_ru.jar
 derbyLocale_zh_CN.jar
 derbyLocale_zh_TW.jar
 derbyclient.jar
 org/apache/derby/client/ClientAutoloadedDriver.class
 META-INF/services/java.sql.Driver
 derbynet.jar
 derbyoptionaltools.jar
 derbyrun.jar
 derbyshared.jar
 derbytools.jar
 org/apache/derby/jdbc/ClientDriver.class
 org/apache/derby/jdbc/ClientDriver40.class
 org/apache/derby/jdbc/EmbeddedDriver.class

```

As such, most of the tutorials found on the internet about "how to use derby in 
embedded mode" are just wrong because they simply mention derby.jar as a 
dependency.

Worst, derby own documentation is not up to date: as such, I had no way to 
understand why new releases of this tool that I have been using for more than a 
decade in the classroom suddenly did not work anymore.

The explanation is finally simple: I just wonder how such impacting decision 
could be done without proper documentation.

I am also surprised to be the first one reporting this, since the problem 
exists since at least a year.


> Update documentation to allow users to properly use EmbeddedDriver
> ------------------------------------------------------------------
>
>                 Key: DERBY-7097
>                 URL: https://issues.apache.org/jira/browse/DERBY-7097
>             Project: Derby
>          Issue Type: Bug
>          Components: Documentation
>    Affects Versions: 10.15.2.0
>            Reporter: Daniel Le Berre
>            Priority: Major
>
> In earlier version of Derby, and as reported in the documentation, the 
> EmbeddedDriver class was in derby.jar.
> As such, it was quite easy to deploy a webapp with an embedded derby 
> database: it was sufficient to just add a derby.jar file to the project 
> library.
> In current releases of derby (10.15.2.0), the EmbeddedDriver class is no 
> longer in the derby.jar file but in the derbytools.jar file.
> ```
> $ for i in `ls *.jar`; do echo $i ; jar tf $i | grep Driver ; done
>  derby.jar
>  org/apache/derby/iapi/jdbc/AutoloadedDriver$1.class
>  org/apache/derby/iapi/jdbc/AutoloadedDriver.class
>  org/apache/derby/iapi/jdbc/Driver42.class
>  org/apache/derby/iapi/jdbc/InternalDriver$1.class
>  org/apache/derby/iapi/jdbc/InternalDriver$2.class
>  org/apache/derby/iapi/jdbc/InternalDriver$3.class
>  org/apache/derby/iapi/jdbc/InternalDriver$4.class
>  org/apache/derby/iapi/jdbc/InternalDriver$5.class
>  org/apache/derby/iapi/jdbc/InternalDriver$DaemonThreadFactory.class
>  org/apache/derby/iapi/jdbc/InternalDriver$LoginCallable.class
>  org/apache/derby/iapi/jdbc/InternalDriver.class
>  META-INF/services/java.sql.Driver
>  derbyLocale_cs.jar
>  derbyLocale_de_DE.jar
>  derbyLocale_es.jar
>  derbyLocale_fr.jar
>  derbyLocale_hu.jar
>  derbyLocale_it.jar
>  derbyLocale_ja_JP.jar
>  derbyLocale_ko_KR.jar
>  derbyLocale_pl.jar
>  derbyLocale_pt_BR.jar
>  derbyLocale_ru.jar
>  derbyLocale_zh_CN.jar
>  derbyLocale_zh_TW.jar
>  derbyclient.jar
>  org/apache/derby/client/ClientAutoloadedDriver.class
>  META-INF/services/java.sql.Driver
>  derbynet.jar
>  derbyoptionaltools.jar
>  derbyrun.jar
>  derbyshared.jar
>  derbytools.jar
>  org/apache/derby/jdbc/ClientDriver.class
>  org/apache/derby/jdbc/ClientDriver40.class
>  org/apache/derby/jdbc/EmbeddedDriver.class
> ```
> As such, most of the tutorials found on the internet about "how to use derby 
> in embedded mode" are just wrong because they simply mention derby.jar as a 
> dependency.
> Worst, derby own documentation is not up to date: as such, I had no way to 
> understand why new releases of this tool that I have been using for more than 
> a decade in the classroom suddenly did not work anymore.
> The explanation is finally simple: I just wonder how such impacting decision 
> could be done without proper documentation.
> I am also surprised to be the first one reporting this, since the problem 
> exists since at least a year.
> There are two possible fix to this issue:
>  * move back the EmbeddedDriver class to derby.jar (my favorite option I 
> would say), but I guess there is a good reason for moving those classes to 
> derbytools.jar
>  * update the documentation on Derby's web site, with a quite visible alert 
> about this change.
>  
> I have been a pretty happy user of derby for years, and will certainly be in 
> the future. Thanks for that great tool. However, that breaking change has 
> been particularly annoying, which is the reason of that bug report.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to