Java JGit中DirCacheEditor的路径异常无效

Java JGit中DirCacheEditor的路径异常无效,java,jgit,Java,Jgit,我测试一段代码 DirCache index = repository.lockDirCache(); DirCacheEditor editor = index.editor(); editor.add(new DirCacheEditor.PathEdit(path + File.separator + fileName) { @Override public void apply(DirCacheEntry entry) { entr

我测试一段代码

  DirCache index = repository.lockDirCache();
  DirCacheEditor editor = index.editor();
  editor.add(new DirCacheEditor.PathEdit(path + File.separator + fileName) {
      @Override
      public void apply(DirCacheEntry entry) {
          entry.setFileMode(FileMode.REGULAR_FILE);
      }
  });
  editor.finish();
其中,
path
是存储库所在目录的绝对路径,
fileName
是我要添加的文件。但是,该代码抛出一个异常,消息为“invalidpath”


path
应该有什么值才能使此异常不再出现?

JGit中的路径必须始终相对于存储库的根目录给定。此外,所有平台上的路径分隔符均为“/”

因此,您的代码应该如下所示

String path=“path/to”;
字符串fileName=“file.ext”;
...
新路径编辑(路径+“/”+文件名)
要生成如下路径:
path/to/file.ext


还请注意,大多数JGit API需要相对路径,即不能有前导“/”。

JGit中的路径必须始终相对于存储库的根目录。此外,所有平台上的路径分隔符均为“/”

因此,您的代码应该如下所示

String path=“path/to”;
字符串fileName=“file.ext”;
...
新路径编辑(路径+“/”+文件名)
要生成如下路径:
path/to/file.ext

还要注意的是,大多数jgitapi需要相对路径,即不能有前导“/”