You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Daniel Le Berre (Jira)" <ji...@apache.org> on 2021/01/17 10:45:00 UTC
[jira] [Updated] (DERBY-7097) Update documentation to allow users
to properly use EmbeddedDriver
[ 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.
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 using 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.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)