Scala sbt启动器堆栈溢出(版本1.*)

Scala sbt启动器堆栈溢出(版本1.*),scala,sbt,launcher,Scala,Sbt,Launcher,我想使用sbt启动器获取sbt并运行它。我有以下sbt.boot.properties: [scala] version: ${sbt.scala.version-auto} [app] org: ${sbt.organization-org.scala-sbt} name: sbt version: ${sbt.version-read(sbt.version)[1.3.7]} class: ${sbt.main.class-sbt.xMain} components

我想使用
sbt启动器
获取sbt并运行它。我有以下
sbt.boot.properties

[scala]
  version: ${sbt.scala.version-auto}

[app]
  org: ${sbt.organization-org.scala-sbt}
  name: sbt
  version: ${sbt.version-read(sbt.version)[1.3.7]}
  class: ${sbt.main.class-sbt.xMain}
  components: xsbti,extra
  cross-versioned: ${sbt.cross.versioned-false}
  resources: ${sbt.extraClasspath-}

[repositories]
  local
  maven-central: http://artifactory.corp.com/artifactory/joined-maven-releases
  typesafe-ivy-releases: http://artifactory.corp.com/artifactory/joined-ivy-releases, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]

[boot]
  directory: ${sbt.boot.directory-${sbt.global.base-${user.home}/.sbt}/boot/}

[ivy]
  ivy-home: ${sbt.ivy.home-${user.home}/.ivy2/}
  checksums: ${sbt.checksums-sha1,md5}
  override-build-repos: ${sbt.override.build.repos-false}
  repository-config: ${sbt.repository.config-${sbt.global.base-${user.home}/.sbt}/repositories}
如果我将SBT vertions设置为
0.13.18
,它可以正常工作:
version:${SBT.version read(SBT.version)[0.13.18]}
,但是对于最新版本,我得到了堆栈溢出错误:

[info] [launcher] getting org.scala-sbt sbt 1.3.7  (this may take some time)...
java.lang.StackOverflowError
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader$3.next(Unknown Source)
        at java.net.URLClassLoader$3.hasMoreElements(Unknown Source)
        at sun.misc.CompoundEnumeration.next(Unknown Source)
        at sun.misc.CompoundEnumeration.hasMoreElements(Unknown Source)
        at sun.misc.CompoundEnumeration.next(Unknown Source)
        at sun.misc.CompoundEnumeration.hasMoreElements(Unknown Source)
        at java.util.ServiceLoader$LazyIterator.hasNextService(Unknown Source)
        at java.util.ServiceLoader$LazyIterator.hasNext(Unknown Source)
        at java.util.ServiceLoader$1.hasNext(Unknown Source)
        at javax.xml.parsers.FactoryFinder$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.xml.parsers.FactoryFinder.findServiceProvider(Unknown Source)
        at javax.xml.parsers.FactoryFinder.find(Unknown Source)
        at javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source)
        at org.apache.ivy.util.XMLHelper.getDocBuilder(XMLHelper.java:213)
        at org.apache.ivy.util.XMLHelper.parseToDom(XMLHelper.java:207)
        at org.apache.ivy.plugins.parser.m2.PomReader.<init>(PomReader.java:95)
        at org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:122)
        at org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:112)
        at org.apache.ivy.core.cache.ModuleDescriptorProvider.provideModule$6172736d(ModuleDescriptorProvider.java:716)
        at org.apache.ivy.core.cache.ModuleDescriptorMemoryCache.getStale(ModuleDescriptorMemoryCache.java:68)
        at org.apache.ivy.core.cache.DefaultRepositoryCacheManager.cacheModuleDescriptor(DefaultRepositoryCacheManager.java:1195)
        at org.apache.ivy.plugins.resolver.BasicResolver.parse(BasicResolver.java:536)
        at org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:271)
        at org.apache.ivy.plugins.resolver.IBiblioResolver.getDependency(IBiblioResolver.java:538)
        at org.apache.ivy.plugins.resolver.ChainResolver.getDependency(ChainResolver.java:104)
        at org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseOtherPom(PomModuleDescriptorParser.java:382)
        at org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:143)
        at org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:112)
        at org.apache.ivy.core.cache.ModuleDescriptorProvider.provideModule$6172736d(ModuleDescriptorProvider.java:716)
        at org.apache.ivy.core.cache.ModuleDescriptorMemoryCache.getStale(ModuleDescriptorMemoryCache.java:68)
添加:

我发现它使用的最后一个版本是1.2.3,当我将其更改为1.2.4时,它会不间断地生成以下堆栈跟踪,直到出现StackOverflow错误:

at org.apache.ivy.plugins.resolver.BasicResolver.parse(BasicResolver.java:536)
        at org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:271)
        at org.apache.ivy.plugins.resolver.IBiblioResolver.getDependency(IBiblioResolver.java:538)
        at org.apache.ivy.plugins.resolver.ChainResolver.getDependency(ChainResolver.java:104)
        at org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseOtherPom(PomModuleDescriptorParser.java:382)
        at org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:143)
        at org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:112)
        at org.apache.ivy.core.cache.ModuleDescriptorProvider.provideModule$6172736d(ModuleDescriptorProvider.java:716)
        at org.apache.ivy.core.cache.ModuleDescriptorMemoryCache.getStale(ModuleDescriptorMemoryCache.java:68)
        at org.apache.ivy.core.cache.DefaultRepositoryCacheManager.cacheModuleDescriptor(DefaultRepositoryCacheManager.java:1195)

sbt
1.2.8
也有同样的问题吗?是的,只有0.*版本可以正常工作。jvm需要更多的RAM吗?你可以试试
sbt-mem 3000
我把这些设置放在哪里?
at org.apache.ivy.plugins.resolver.BasicResolver.parse(BasicResolver.java:536)
        at org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:271)
        at org.apache.ivy.plugins.resolver.IBiblioResolver.getDependency(IBiblioResolver.java:538)
        at org.apache.ivy.plugins.resolver.ChainResolver.getDependency(ChainResolver.java:104)
        at org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseOtherPom(PomModuleDescriptorParser.java:382)
        at org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:143)
        at org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:112)
        at org.apache.ivy.core.cache.ModuleDescriptorProvider.provideModule$6172736d(ModuleDescriptorProvider.java:716)
        at org.apache.ivy.core.cache.ModuleDescriptorMemoryCache.getStale(ModuleDescriptorMemoryCache.java:68)
        at org.apache.ivy.core.cache.DefaultRepositoryCacheManager.cacheModuleDescriptor(DefaultRepositoryCacheManager.java:1195)