Tha*_*ham 3 java jdbc classpath
Mac OS X 10.6上是否有默认的类路径?当我echo $CLASSPATH,没有任何东西会出现.在我看来.profile,我只看到PATH变量被设置.我的问题是我的servlet似乎无法找到一个合适的驱动程序来连接到mysql服务器.我使用Eclipse,用于Glassfish v3和MAMP用于MYSQL服务器.
Mic*_*yan 11
有几种方法可以让Java在Mac OS X上看到JAR:
默认情况下不设置CLASSPATH环境变量,但是,如果您愿意,可以设置它.但请注意,您设置的任何环境变量~/.profile只会在终端会话中生效,不会影响任何GUI应用程序.如果要设置环境变量以使它们影响GUI应用程序,可以创建一个名为~/.MacOSX/environment.plist包含环境变量的文件.对该文件所做的任何更改将在您下次登录时生效.
正如所观察到的,将JAR放在extensions文件夹中或修改CLASSPATH环境变量通常都是坏主意,因为它们可能会导致依赖地狱.更好的方法是将JAR与工件捆绑在一起,并适当地设置元数据,使它们位于工件的类路径中.如果使用Apache Maven2构建工件,则可以自动下载以及捆绑任何第三方依赖项,并为工件设置适当的类路径.
千万不能使用CLASSPATH环境变量.这是便携性问题.整个环境变量是Sun家伙的错误.它只适用于初学者,但肯定不适用于现实世界.这只会在之后更多地混淆初学者.此外,appservers(和IDE)完全忽略了这个环境变量.千万不能把图书馆JRE或JDK的库.这也是可移植性问题.如果升级JRE/JDK或在其他地方运行应用程序,它将不再起作用.
在webapplications中,您通常只需删除特定于webapp的第三方库Webapp/WEB-INF/lib.该文件夹由webapp的默认类路径覆盖.如果这些库是特定于appserver的(例如,需要JDBC驱动程序来创建由appserver管理的JNDI数据源),那么您需要将它们放入Appserver/lib.此文件夹由appserver的默认类路径覆盖.对于Glassfish,您需要将其更具体地放在特定于域的/lib文件夹中,例如glassfish/domains/<domainname>/lib.
| 归档时间: |
|
| 查看次数: |
20148 次 |
| 最近记录: |