@@ -9,31 +9,29 @@ http://stackoverflow.com/questions/4279611/how-to-embed-a-video-into-github-read
9
9
Download
10
10
--------
11
11
12
- Extract `scalive-1.0.zip <TODO >`_ you will see:
12
+ Extract `scalive-1.0.zip <TODO >`_, you will see:
13
13
14
14
::
15
15
16
16
scalive/
17
17
scalive
18
18
scalive.bat
19
- scalive-client-1.0.jar
20
- scalive-agent-1.0.jar
21
- scalive-repl-1.0.jar
22
- 2.10.2/
23
- scala-library-2.10.2.jar
24
- scala-compiler-2.10.2.jar
25
- scala-reflect-2.10.2.jar
26
- 2.10.3/
27
- scala-library-2.10.3.jar
28
- scala-compiler-2.10.3.jar
29
- scala-reflect-2.10.3.jar
19
+ scalive-1.0.jar
20
+
21
+ scala-library-2.10.2.jar
22
+ scala-compiler-2.10.2.jar
23
+ scala-reflect-2.10.2.jar
24
+
25
+ scala-library-2.10.3.jar
26
+ scala-compiler-2.10.3.jar
27
+ scala-reflect-2.10.3.jar
30
28
31
29
scala-library, scala-compiler, and scala-reflect of the appropriate version
32
30
will be loaded to your running JVM process, if they have not been loaded.
33
31
34
- JARs for Scala 2.10.2 and 2.10.3 are preincluded for convenience . If your Scala
32
+ For convenience, Scala 2.10.2 and 2.10.3 JARs are preincluded. If your Scala
35
33
process is using a different version, you need to manually download the
36
- corresponding JARS and save them as above.
34
+ corresponding JARs and save them as above.
37
35
38
36
Usage
39
37
-----
@@ -52,13 +50,6 @@ To connect a Scala REPL console to a process:
52
50
53
51
scalive <pid>
54
52
55
- If there are multiple class loaders in the process, Scalive will list them so
56
- that you can choose. Then you run again:
57
-
58
- ::
59
-
60
- scalive <pid> <class-loader-id>
61
-
62
53
How it works
63
54
------------
64
55
@@ -73,27 +64,14 @@ Known issues
73
64
74
65
1.
75
66
76
- Please read:
77
- http://www.scala-lang.org/old/node/8002
78
-
79
- The Scala REPL console needs to know the classpath used by the target process so
80
- that it can compile the code you type at the console on the fly. Scalive tries
81
- to get the classpath from the class loader for you.
82
-
83
- It's easy when the class loader is of type `URLClassLoader <http://docs.oracle.com/javase/7/docs/api/java/net/URLClassLoader.html >`_
84
- (just call ``getURLs ``). But when the class loader is of other type
85
- (like `ClasspathFilter <http://www.scala-sbt.org/release/api/index.html#sbt.classpath.ClasspathFilter >`_
86
- when the process is started by `SBT <http://www.scala-sbt.org/ >`_), Scalive must
87
- solve the problem in the "case by case" style.
88
-
89
- Currently, Scalive only supports these process types:
90
-
91
- * Process with only one class loader (normal standalone JVM process, like
92
- `Play <http://www.playframework.com/ >`_ or
93
- `Xitrum <http://ngocdaothanh.github.io/xitrum/ >`_).
94
- * Process started by SBT ``run ``.
67
+ For simplicity and to avoid memory leak when you attach/detach many times,
68
+ Scalive only supports processes with only the default system class loader,
69
+ without additional class loaders (Ex: normal standalone JVM processes, like
70
+ `Play <http://www.playframework.com/ >`_ or
71
+ `Xitrum <http://ngocdaothanh.github.io/xitrum/ >`_ in production mode).
95
72
96
- If your process/class loader is not supported, please `create an issue <https://github.com/ngocdaothanh/scalive/issues >`_.
73
+ Processes with multiple class loaders like
74
+ `SBT <http://www.scala-sbt.org/ >`_ are not supported.
97
75
98
76
2.
99
77
0 commit comments