两种安装command line tools安装方法

本文介绍了两种安装Xcode命令行工具的方法:一种是在终端中使用xcode-select --install命令进行在线安装;另一种是从Apple开发者网站下载对应的DMG文件安装。无论采用哪种方式,最终安装的内容都是相同的。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过在终端里面执行xcode-select--install自动安装;

在DeveloperApple网站下载Command Line Tools (OS X Mavericks) for Xcode - Late October DMG安装

xcode-select--install 实际上是启动了 /System/Library/CoreServices/Install Command Line DeveloperTools.app 应用,该应用从Apple服务器上下载「CLToolsExecutables.pkg」和「MacOSX109_SDK.pkg」执行安装。

从Apple开发者网站下的CommandLine Tools (OS X Mavericks) for Xcode - Late October DMG,实际上在包的也是上面两个.pkg。

所以无论通过哪种方法,安装的都是一样的。

另外,如果想知道自己的机器是否已经安装了「CommandLine Tools」,检查一下/Library/Developer/CommandLineTools文件夹是否存在。

下面使用终端命令安装:

退出xcode,使用命令在线安装。

打开终端,输入命令:xcode-select--install

osx-10.9-clt-1

 

选择“安装”,然后同意安装协议。

osx-10.9-clt-2

 

osx-10.9-clt-3

### 解决方案:通过 JAR 清单文件或类路径文件缩短 Java 命令行 当命令行过长时,可以通过两种方式来简化它:一是利用 JAR 文件中的 `Manifest` 配置指定主类;二是使用 `-cp @classpath-file` 的方法加载类路径。 #### 使用 JAR Manifest 缩短命令行 创建一个 JAR 文件并设置其清单 (`MANIFEST.MF`) 中的 `Main-Class` 属性可以省去在命令行中显式声明主类的需求。以下是具体操作: 1. **编写 MANIFEST.MF 文件** 创建一个名为 `META-INF/MANIFEST.MF` 的文件,并定义以下内容: ``` Main-Class: com.example.MainClass Class-Path: lib/library1.jar lib/library2.jar ``` 这里指定了程序入口点以及依赖库的位置[^3]。 2. **打包成 JAR 文件** 将编译后的 `.class` 文件连同上述清单一起压缩到一个新的 JAR 文件中: ```bash jar cfm myapp.jar META-INF/MANIFEST.MF -C build/classes . ``` 3. **执行应用程序** 只需运行以下简单命令即可启动应用而无需额外参数: ```bash java -jar myapp.jar ``` 此法适用于那些拥有固定结构和较少变动环境的应用场景[^4]。 #### 利用类路径文件减少冗长路径 对于更复杂的项目或者频繁变化的开发测试阶段,则推荐采用另一种机制——即借助于“@argument files”。这种方式允许开发者把所有的外部资源位置存放在单独的一个纯文本文档里面,之后再由 JVM 自动读取这些信息作为实际使用的 CLASSPATH 组件部分。 1. **准备 classpath.txt 文件** 在该文件每行写下一个条目代表某个目录或是 .jar/.zip 归档包的名字。例如: ``` /home/user/libs/lib1.jar /opt/shared/resources/ ../custom_modules/moduleA.jar ``` 2. **调用带 @ 符号的方式引入配置好的文件** 当前工作区下存在刚才建立起来的那个描述了完整搜索范围的小型辅助档案后就可以这样子做啦: ```bash java -cp @classpath.txt com.example.MainClass ``` 这种方法特别适合处理包含大量第三方库的情况,在保持脚本清晰度的同时也方便维护更新[^5]。 ```python # 示例 Python 脚本用于生成 classpath 文件 def generate_classpath_file(output_path, entries): with open(output_path, 'w') as f: for entry in entries: f.write(f"{entry}\n") entries = [ "/usr/local/lib/some-library.jar", "./target/classes/", "../third-party-tools/toolkit.jar" ] generate_classpath_file("classpath.txt", entries) print("Generated classpath file successfully.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值