summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/scala/tools/nsc')
-rw-r--r--src/compiler/scala/tools/nsc/io/ClassAndJarInfo.scala6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/io/ClassAndJarInfo.scala b/src/compiler/scala/tools/nsc/io/ClassAndJarInfo.scala
index 88efe1e0b5..716358a653 100644
--- a/src/compiler/scala/tools/nsc/io/ClassAndJarInfo.scala
+++ b/src/compiler/scala/tools/nsc/io/ClassAndJarInfo.scala
@@ -7,6 +7,7 @@ package scala.tools.nsc
package io
import java.net.URL
+import java.io.IOException
import collection.JavaConverters._
/** A convenience class for finding the jar with the bytecode for
@@ -25,7 +26,10 @@ class ClassAndJarInfo[T: ClassManifest] {
def codeSource = protectionDomain.getCodeSource()
def internalClassName = internalName + ".class"
def internalName = clazz.getName.replace('.', '/')
- def jarManifest = new JManifest(jarManifestUrl.openStream())
+ def jarManifest = (
+ try new JManifest(jarManifestUrl.openStream())
+ catch { case _: IOException => new JManifest() }
+ )
def jarManifestMainAttrs = jarManifest.getMainAttributes().asScala
def jarManifestUrl = new URL(baseOfPath("" + classUrl) + "!/META-INF/MANIFEST.MF")
def locationFile = File(locationUrl.toURI.getPath())