用java做个图片处理网站过程遇到的坑

很久没主动搭过项目了导致遇到的坑,废了我一个周末网站现在还没搭建起来,下面记录下部署过程的坑。

说下我的本地环境:win11、idea、jdk8暂且没用数据库 前端用的layui也没前后端分离,网站搭建好要过几天了因为我要编译依赖要费点时间。

服务器能用linux还是尽量linux吧,苦笑下

坑一:jar包冲突,没指定主函数

之前我本地跑程序的时候缺少servlet-api.jar我就随手引用了,导出执行jar包执行的时候跟内置的tomcat包冲突。

解决办法:打包的时候排除冲突包,添加主函数配置

坑二:resources资源文件或者java目录加载不到

xml 复制代码
<!-- 定义包含这些资源文件,能在jar包中获取这些文件 -->
<resources>
    <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.*</include>
        </includes>
        <!--是否替换资源中的属性-->
        <filtering>false</filtering>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
        <includes>
            <include>**/*.*</include>
        </includes>
        <!--是否替换资源中的属性-->
        <filtering>false</filtering>
    </resource>
</resources>

坑三:dll依赖的巨坑

因为我主要依赖win下的dll(linux是so)我在win下写的代码想着部署简单点就选了winserver结果坑了我两天时间缺各种依赖。本想着少事情结果费更多的事情,没办法我又搞起了centos。

因为我是要主动加载dll需要找文件拼接路径处理在jar包里面是个巨坑。

scss 复制代码
InitUtil.class.getClassLoader().getResource("").getPath()
InitUtil.class.getClassLoader().getResource("/).getPath() null
InitUtil.class.getClass().getResource("").getPath() null
InitUtil.class.getClass().getResource("/").getPath()
普通的读取文件操作可以用 getResourceAsStream进行操作

dll之前我是在resources目录中,主动加载的话涉及到一个问题jar包读取文件,后面这个问题我这里暂且选择了在跟程序一个目录下加载了(注意linux下需要调整下)。

txt 复制代码
##windows平台:
.dll : 动态链接库,作为共享函数库的可执行文件.
.obj : 目标文件,相当于源代码对应的二进制文件,未经过重定义.
.lib : 可理解为多个 obj 的集合,本质与 .obj 相同.
##linux平台:
.so:(share object)动态链接库,和windows 的 dll 类似.
.o : 目标文件,相当于源代码对应的二进制文件 类似 windows 下 obj.
.a : 与 .o 类似,多个 .o 的集合 类似 windows 下 lib.

功能

等我把环境搭建起来在打算看添加点什么功能

本来是没打算做的因为python不熟又没太多精力,但是深度学习没python又不行又不会c++,没内容识别模块的话感觉少点什么,最近把java加载模型的问题找到了解决办法,但是很多图片处理的东西又不是单靠加载个模型就可以解决的(例如u2net抠图类的),java先入为主熟悉点吧,用python单独写个工具类还行搞个网站有点吃力还费精力,后面看java搞电有趣合适的图片工具再整合进来。

功能点大概都是之前费了很多业余时间如下门,这里算整合了下做个记录。

相关推荐
随心Coding26 分钟前
【零基础入门Go语言】错误处理:如何更优雅地处理程序异常和错误
开发语言·后端·golang
m0_7482345227 分钟前
【Spring Boot】Spring AOP动态代理,以及静态代理
spring boot·后端·spring
咸甜适中1 小时前
go语言gui窗口应用之fyne框架-动态添加、删除一行控件(逐行注释)
开发语言·后端·golang
梁雨珈2 小时前
Groovy语言的安全开发
开发语言·后端·golang
十二同学啊2 小时前
Spring Boot 中的 InitializingBean:Bean 初始化背后的故事
java·spring boot·后端
沈霁晨3 小时前
Perl语言的语法糖
开发语言·后端·golang
DevOpsDojo3 小时前
HTML语言的数据结构
开发语言·后端·golang
谦行3 小时前
前端视角 Java Web 入门手册 1.3:Java 世界的规则
java·后端
时韵瑶4 小时前
Scala语言的云计算
开发语言·后端·golang
Jerry Lau4 小时前
大模型-本地化部署调用--基于ollama+openWebUI+springBoot
java·spring boot·后端·llama