Correct the classpath to correctly include the local directory so Java programs find the application class
cmr=v1.8.4:reviewer=jsquyres This commit was SVN r32817.
Этот коммит содержится в:
родитель
d4e2809531
Коммит
040a69c38b
@ -2028,8 +2028,22 @@ static int create_app(int argc, char* argv[],
|
|||||||
NULL != strstr(app->argv[i], "classpath")) {
|
NULL != strstr(app->argv[i], "classpath")) {
|
||||||
/* yep - but does it include the path to the mpi libs? */
|
/* yep - but does it include the path to the mpi libs? */
|
||||||
found = true;
|
found = true;
|
||||||
set_classpath_jar_file(app, i+1, "mpi.jar");
|
/* check if mpi.jar exists - if so, add it */
|
||||||
set_classpath_jar_file(app, i+1, "shmem.jar");
|
value = opal_os_path(opal_install_dirs.libdir, "mpi.jar", NULL);
|
||||||
|
if (access(value, F_OK ) != -1) {
|
||||||
|
set_classpath_jar_file(app, i+1, "mpi.jar");
|
||||||
|
}
|
||||||
|
free(value);
|
||||||
|
/* check for oshmem support */
|
||||||
|
value = opal_os_path(opal_install_dirs.libdir, "shmem.jar", NULL);
|
||||||
|
if (access(value, F_OK ) != -1) {
|
||||||
|
set_classpath_jar_file(app, i+1, "shmem.jar");
|
||||||
|
}
|
||||||
|
free(value);
|
||||||
|
/* always add the local directory */
|
||||||
|
asprintf(&value, "%s:%s", app->argv[i+1], app->cwd);
|
||||||
|
free(app->argv[i+1]);
|
||||||
|
app->argv[i+1] = value;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2042,6 +2056,10 @@ static int create_app(int argc, char* argv[],
|
|||||||
opal_argv_insert_element(&app->argv, 1, value);
|
opal_argv_insert_element(&app->argv, 1, value);
|
||||||
set_classpath_jar_file(app, 1, "mpi.jar");
|
set_classpath_jar_file(app, 1, "mpi.jar");
|
||||||
set_classpath_jar_file(app, 1, "shmem.jar");
|
set_classpath_jar_file(app, 1, "shmem.jar");
|
||||||
|
/* always add the local directory */
|
||||||
|
asprintf(&value, "%s:%s", app->cwd, app->argv[1]);
|
||||||
|
free(app->argv[1]);
|
||||||
|
app->argv[1] = value;
|
||||||
opal_argv_insert_element(&app->argv, 1, "-cp");
|
opal_argv_insert_element(&app->argv, 1, "-cp");
|
||||||
found = true;
|
found = true;
|
||||||
break;
|
break;
|
||||||
@ -2052,8 +2070,8 @@ static int create_app(int argc, char* argv[],
|
|||||||
* to include the current directory and trust that
|
* to include the current directory and trust that
|
||||||
* the user set cwd if necessary
|
* the user set cwd if necessary
|
||||||
*/
|
*/
|
||||||
asprintf(&value, ".:%s/mpi.jar:%s/shmem.jar",
|
asprintf(&value, "%s:%s/mpi.jar:%s/shmem.jar",
|
||||||
opal_install_dirs.libdir, opal_install_dirs.libdir);
|
app->cwd, opal_install_dirs.libdir, opal_install_dirs.libdir);
|
||||||
opal_argv_insert_element(&app->argv, 1, value);
|
opal_argv_insert_element(&app->argv, 1, value);
|
||||||
free(value);
|
free(value);
|
||||||
opal_argv_insert_element(&app->argv, 1, "-cp");
|
opal_argv_insert_element(&app->argv, 1, "-cp");
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user