我解決了我的問題。 sbt eclipse
命令爲Eclipse創建兩個文件。他們是.classpath
和.project
。您的.ivy2
路徑在.classpath
文件中給出。所以首先,我在我的vagrant目錄中創建了一個新文件夾,並將我的主文件夾同步到這個新文件夾中。將此添加到您的Vagrantfile
。
config.vm.synced_folder "data", "/home/vagrant"
然後我在我的項目文件夾中運行sbt eclipse
。它在我的data
文件夾中創建了新的.classpath
文件。我寫了一個python腳本,它可以讀取和替換.classpath
文件中的路徑。您應該在您的項目文件夾中運行此腳本,它會獲取所有子目錄並搜索.classpath
文件。然後它用正確的路徑替換錯誤的路徑。
import os
import glob
#variables
current_dir = "/home/vagrant/"
dest_dir = "C:/Users/Test/Desktop/vm/data/"
#list for directories
filesDepth1 = glob.glob('*/')
dirsDepth1 = list(filter(lambda f: os.path.isdir(f), filesDepth1))
print(dirsDepth1)
#list for files
for directory in dirsDepth1:
print(directory)
root = os.path.dirname(os.path.realpath(__file__)) + "/" + directory
for item in os.listdir(root):
if os.path.isfile(os.path.join(root, item)):
print(item)
if(item == ".classpath"):
FileName = root + "/" + item
with open(FileName) as f:
newText=f.read().replace(current_dir,dest_dir)
with open(FileName, "w") as f:
f.write(newText)