classpath 问题,错了好多次,记录一下

博客给出一段Java代码,包含`Balance`和`AccountBalance`类。介绍了编译和运行该代码的步骤,在d盘`MyPack`目录下编译`AccountBalance.java`文件,还列举了运行代码的正确和错误命令,如`java -classpath \d:/MyPack;\ MyPack.AccountBalance`等。

首先是材料: 待编译的一小段代码

package MyPack;

class Balance
{
 String name;
 double bal;

 Balance(String n,double b) {
  name=n;
  bal=b; 
 }

 void show() {
  if (bal<0) System.out.print("---->");
  System.out.println(name+": $"+bal);
 }
};

class  AccountBalance
{
 public static void main(String[] args)
 {
  Balance current[]=new Balance[3];
  current[0]=new Balance("K.J.Fielding",123.23);
  current[1]=new Balance("Well Tell",157.02);
  current[2]=new Balance("Tom Jackson",-12.33);

  for (int i=0;i<3 ;i++ ) current[i].show();
 }
}

步骤一:在d盘下建一个MyPack目录,把上面的代码起文件名AccountBalance,
                         然后放入到MyPack目录中

步骤二:d:/MyPack>javac AccountBalance.java

步骤三: 就是这里出问题了,下面列出正确的和错误的命令

正确的   第一种: D:/>java -classpath "d:/MyPack;" MyPack.AccountBalance
               第二种: D:/>java -cp "d:/MyPack;" MyPack.AccountBalance
               第三种: D:/>java -cp "d:/MyPack;" MyPack/AccountBalance

错误的   第一种: D:/>java -classpath "d:/MyPack" MyPack.AccountBalance
               第二种: D:/>java MyPack.AccoutnBalance
               第三种:  D:/MyPack>java -classpath "d:/MyPack;" AccountBalance
               第四种:  D:/MyPack>java -classpath "d:/MyPack;" MyPack.AccountBalance
               第五种: D:/MyPack>java AccountBalance
               第六种: D:/MyPack>java MyPack/AccountBalance
               第七种: D:/MyPack>java MyPack/AccountBalance
               第八种: D:/MyPack>java MyPack.AccountBalance

### 关于Tomcat Classpath配置及其常见问题 #### Tomcat处理ClassPath的独特方式 Tomcat处理`classpath`的方法区别于其他Java应用服务器,这主要体现在它对于Web应用程序的加载机制上。每个部署到Tomcat中的Web应用都有自己的类装载器实例,这意味着它们拥有独立的`classpath`环境[^1]。 #### 版本差异的影响 随着Tomcat版本的不同,其内部架构和实现细节有所调整,这也影响到了`classpath`管理策略的变化。因此,在不同版本之间迁移时需要注意这些潜在的区别。 #### 配置要求的重要性 为了确保系统的稳定性和兼容性,Tomcat官方文档通常会给出具体的配置建议。如果不按照推荐的方式操作,则可能导致各种意想不到的问题发生。例如,不当放置第三方库文件可能会引起冲突或找不到所需资源的情况。 #### 解决方案概述 针对上述提到的各种情况,当遇到与`classpath`有关的问题时: - **确认路径正确无误**:检查所有涉及路径是否准确指向目标位置; - **遵循最佳实践指南**:严格按照官方说明来布置必要的JAR包和其他静态资源; - **逐步排查并记录改动**:每只做少量变动,并观察效果直至恢复正常运行状态为止[^2]。 ```bash export CATALINA_HOME=/usr/local/tomcat9 $CATALINA_HOME/bin/startup.sh ``` 以上命令展示了如何通过设置环境变量`CATALINA_HOME`指定Tomcat安装目录,并启动服务端进程。这对于确保正确的初始化顺序至关重要。 #### 外部依赖处理 如果存在多个版本相同的依赖项共存需求,可以通过将特定版本打包进WAR文件中随同发布,或是利用Commons Loader特性定义全局可用但又不影响单个应用私有的组件集合。 ```xml <!-- 在conf/catalina.properties 文件里 --> shared.loader=${catalina.base}/lib/*.jar ``` 此段XML片段演示了怎样扩展公共ClassLoader使之能访问额外的JAR档案。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值