【问题标题】:Trying to re-direct path of a file from c drive to tomcat apache server试图将文件的路径从 c 驱动器重定向到 tomcat apache 服务器
【发布时间】:2019-07-11 23:21:57
【问题描述】:

有没有办法在java程序中更改C文件夹中文件的路径并将其放入tomcat apache服务器。整个代码在 Eclipse IDE 上运行,一个 java 程序采用本地机器 C: 中存在的文件的路径。我可以更改该路径并以某种方式从 Tomcat apache 服务器存储或重定向该路径。

我们通过本地机器上的tomcat apache服务器运行代码,现在我们想实现CI/CD管道并将代码托管在rancher上,代码首先托管在gitlab上,然后管道启动。有没有办法可以更改此路径并将文件存储在 tomcat apache 服务器中或从服务器重新定向文件的路径。或者项目在通过管道处理时会遇到什么问题?我正在使用 Eclipse 作为 IDE。非常感谢任何帮助。

private final static String Word2VecModelPath = "C:\\german.model";
 // change this path 

【问题讨论】:

    标签: java eclipse apache tomcat


    【解决方案1】:

    这里:

    private final static String Word2VecModelPath = "C:\\german.model"
    

    这不是文件系统上的“路径”!此时,它只不过是一个字符串,一个字符序列。您可以转向操作系统,鉴于此字符串类似于本地文件系统中的目录,您可以使用 Java API 访问相应的文件。

    问题是:该文件是位于本地计算机上还是位于远程系统上并不重要。对于您的用例而言,重要的是您可以通过文件系统访问它。

    换句话说:如果您的服务器将其文件写入网络驱动器,并且您的客户端可以访问该驱动器,那么您只需更改该路径字符串,使其指向不同的驱动器。

    但最有可能的是,事情更复杂:因为该资源不在您有权访问的某个文件系统上。

    然后您必须首先与您的服务器通信,然后从那里下载该文件。

    换句话说是:首先要了解访问本地文件系统中的文件与某个服务器拥有的资源之间的区别您可以通过此服务器提供的 API 访问。

    【讨论】:

    • 感谢您的回复。我已经从 git 存储库克隆了项目,并且 German.model 文件在项目中。在java文件中,它被称为字符串。现在,如果我在项目中进行更改并将其推送到 git,您认为这会在管道中出现问题吗?
    • @u2m2 因为我不知道那个项目,所以我无法告诉您您的更改将产生什么影响。您应该与为该项目做出贡献的其他人交谈。老实说:鉴于您的知识目前似乎极其有限,我会非常小心地在任何地方推动更改。更改是您真的不了解自己在做什么,并且对您在本地工作的更改可能仍然对其他人产生很大影响。另一方面,源代码中的硬编码路径......这本身就是一件坏事。
    • 我同意这些东西不应该被硬编码。但总的来说,如何改变这样的路径并通过tomcat apache服务器重新引导它。我应该在 server.xml 中配置一些东西吗?
    • @u2m2 这完全取决于整体情况。那个文件是干什么用的? tomcat服务器是怎么用的?您只说:“这是我的 java 代码中的文件路径”。我无法告诉你如何改变它,因为我不知道总体目标(并提示:很可能,这个问题对于这个社区来说太宽泛了)。我的目的是就您已经在苦苦挣扎的那个非常基本的水平提供见解。我无法解决你的问题,因为我不知道你真正的问题是什么。
    猜你喜欢
    • 2011-06-07
    • 2021-06-25
    • 1970-01-01
    • 2015-02-04
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-26
    相关资源
    最近更新 更多